思路
和之前的回溯不同的是,要遍历完所有的数字,并且在单层递归逻辑里需要遍历一整个字符串
代码
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;}
};