17. Letter Combinations of a Phone Number
Total Accepted: 76019
Total Submissions: 267108
Difficulty: Medium
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.
Subscribe to see which companies asked this question
Have you met this question in a real interview?
排列组合
先打个表,然后枚举即可
class Solution {
public:
vector<string> letterCombinations(string digits)
{
vector<string> ret;
if(digits == "")
return ret;
ret.push_back("");
string dict[]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
for(int i = 0; i < digits.size(); i ++)
{
int size = ret.size();
for(int j = 0; j < size; j ++)
{
string cur = ret[0];
ret.erase(ret.begin());
for(int k = 0; k < dict[digits[i]-'0'].size(); k ++)
ret.push_back(cur + dict[digits[i]-'0'][k]);
}
}
return ret;
}
};
本文介绍了一种解决电话号码解码问题的方法,即从数字映射到字母的所有可能组合。通过创建一个表格并进行枚举操作,可以有效解决这类问题。实例演示了如何将数字字符串 '23' 转换为对应的字母组合。
558

被折叠的 条评论
为什么被折叠?



