19.1.26 [LeetCode17] Letter Combinations of a Phone Number
阿新 • • 發佈:2019-01-26
view key tor input 映射 push_back str push display
Given a string containing digits from 2-9
inclusive, 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. Note that 1 does not map to any letters.
Example:
Input: "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.
題意
字母和數字間存在映射,給出一串數字求可以映射到的所有字母串
感覺好像沒啥意思
題解
1 class Solution { 2 public: 3 vector<string> letterCombinations(string digits) { 4 vector<string> Old, New;View Code5 Old.push_back(""); 6 int f[10][2] = { -1,-1,-1,-1,0,2,3,5,6,8,9,11,12,14, 7 15,18,19,21,22,25 }; 8 for (int i = 0; digits[i]; i++) { 9 New.clear(); 10 int idx = digits[i] - ‘0‘; 11 for (int j = 0; j < Old.size(); j++) { 12for (int k = f[idx][0]; k <= f[idx][1]; k++) 13 New.push_back(Old[j] + (char)(k + ‘a‘)); 14 } 15 Old = New; 16 } 17 return New; 18 } 19 };
19.1.26 [LeetCode17] Letter Combinations of a Phone Number