力扣-回溯-17 电话号码的字母组合
思路
和之前的回溯不同的是,要遍历完所有的数字,并且在单层递归逻辑里需要遍历一整个字符串
代码
class Solution {
public:
vector<string> letters = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
vector<string> result;
string path;
void backTracking(string dights, int curIndex){
if(curIndex == dights.size()){
result.push_back(path);
return;
}
string letter = letters[(char)dights[curIndex] - '0'];
for(int i = 0; i < letter.size(); i++){
path.push_back(letter[i]);
backTracking(dights, curIndex+1);
path.pop_back();
}
return;
}
vector<string> letterCombinations(string digits) {
if(digits == "") return result;
backTracking(digits, 0);
return result;
}
};