题目描述
Letter Combinations of a Phone Number
AC代码
枚举每一个digits中的数字,然后去枚举数字对应的每一个字母,拼接组成答案。
class Solution {
public:
string chars[8]={"abc","def","ghi","jkl","mno","qprs","tuv","wxyz"};
vector<string> letterCombinations(string digits) {
if(digits.empty())
return vector<string>();
vector<string> state(1,"");
for(auto i:digits)
{
vector<string> now;
//因为字符串仅包含2-9,对应到chars数组需要-'2'.
for(auto j:chars[i-'2']){
for(auto k:state)
now.push_back(k+j);
}
state=now;
}
return state;
}
};