采用回溯操作:
vector<string> letterCombinations(string digits) {
string table[11]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
vector<string> res;
string temp;
if(digits.size()>0)
find(res,digits,table,0,temp);
return res;
}
void find(vector<string> &res,string &digits,string *table,int index,string &temp)
{
if(index == digits.size())
{
res.push_back(temp);
return ;
}
for (int i = 0; i<table[digits[index]-'0'].size(); i++)
{
temp = temp + table[digits[index] - '0'][i];
find(res, digits, table, index + 1, temp);
temp.erase(temp.size()-1);
}
}
本文介绍了一种使用回溯算法生成电话按键对应的所有可能字母组合的方法。通过递归调用,实现了对输入数字串的每个数字对应的字母进行组合,最终得到所有可能的字符串组合。
546

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



