组合"/>
17. 电话号码的字母组合
✅做题思路or感想
这种组合问题,直接用遍历搜索组合就好了
这里注意的是这里是分组的遍历,所以用一个group
来控制分组!
class Solution {
public://用一个表来记录电话字符串所代表的字符const string letterMap[10] = {"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};vector<string>result;vector<string>temp;void dfs(int group, int k, string str) {//递归中止条件if (k == 0) { result.push_back(str);return;}//递归处理数据for (int i = 0; i < temp[group].size(); i++) {//这里在参数里面修改数值亦是一种回溯的做法,而且更加//方便和简洁!dfs(group + 1, k - 1, str + temp[group][i]);}}vector<string> letterCombinations(string digits) {if (digits.size() == 0)return result; //防止奇怪测试用例//将dihits转化为可用的字符组for (int i = 0; i < digits.size(); i++) {temp.push_back(letterMap[digits[i] - '0']);}string str;dfs(0, digits.size(), str);return result;}
};
更多推荐
17. 电话号码的字母组合
发布评论