LeetCode 17 - Letter Combinations of a Phone Number
来源:互联网 发布:淘宝代销怎么发货 编辑:程序博客网 时间:2024/06/08 08:24
Letter Combinations of a Phone Number
Given a digit string, return all possible letter combinations that the number could represent.
A mapping of digit to letters (just like on the telephone buttons) is given below.
Input:Digit string "23"Output: ["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.
My Code
class Solution {public: vector<string> letterCombinations(string digits) { if (digits.empty()) { vector<string> empty; return empty; } int size = digits.size(); int resultsSize = 1; for (int i = 0; i < size; i++) { char c = digits[i]; if (c == '0') continue; else if (c == '7' || c == '9') resultsSize *= 4; else resultsSize *= 3; } vector<string> results(resultsSize, string(size, ' ')); int divisor = resultsSize; for (int i = 0; i < size; i++) { char c = digits[i]; char set[4]; int setSize = 3; if (c == '0') continue; else { switch (c) { case '1': set[0] = '0'; set[1] = '_'; set[2] = '0'; break; case '2': set[0] = 'a'; set[1] = 'b'; set[2] = 'c'; break; case '3': set[0] = 'd'; set[1] = 'e'; set[2] = 'f'; break; case '4': set[0] = 'g'; set[1] = 'h'; set[2] = 'i'; break; case '5': set[0] = 'j'; set[1] = 'k'; set[2] = 'l'; break; case '6': set[0] = 'm'; set[1] = 'n'; set[2] = 'o'; break; case '7': set[0] = 'p'; set[1] = 'q'; set[2] = 'r'; set[3] = 's'; setSize = 4; break; case '8': set[0] = 't'; set[1] = 'u'; set[2] = 'v'; break; case '9': set[0] = 'w'; set[1] = 'x'; set[2] = 'y'; set[3] = 'z'; setSize = 4; break; break; default: break; } } divisor /= setSize; for (int j = 0; j < resultsSize; j++) { results[j][i] = set[(j/divisor)%setSize]; } } return results; }};Runtime: 0 ms
0 0
- LeetCode: Letter Combinations of a Phone Number
- LeetCode Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [Leetcode] Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [LeetCode]Letter Combinations of a Phone Number
- LeetCode-Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- LeetCode - Letter Combinations of a Phone Number
- LeetCode:Letter Combinations of a Phone Number
- LeetCode | Letter Combinations of a Phone Number
- leetcode Letter Combinations of a Phone Number
- Leetcode: Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- leetcode: Letter Combinations of a Phone Number
- Hibernate映射类型
- Android使用动画的注意事项
- C#Asp.Net中mongo数据库的基本使用
- 使用Zxing生成带logo的二维码
- poj 2236 Wireless Network 并查集
- LeetCode 17 - Letter Combinations of a Phone Number
- Hibernate映射类型demo
- asp.net mvc杂项收集
- Java工程师成神之路
- 结构型:设计模式之桥接模式(七)
- 第17周 员工管理
- 《java编程思想》学习笔记-----Java 流
- Android adb.exe程序启动不起来 具体解决方法
- IAR Error Pe706