方法:回溯—-for循环+递归,不用考虑递归结束条件,for循环结束递归结束且在递归结束时输出结果
string的用法要注意
class Solution {public:unordered_map<char, string> phoneMap{{'2', "abc"},{'3', "def"},{'4', "ghi"},{'5', "jkl"},{'6', "mno"},{'7', "pqrs"},{'8', "tuv"},{'9', "wxyz"}};vector<string> results;vector<string> letterCombinations(string digits) {if(digits.empty()){return results;}string result;combination(digits,0,result,results);return results;}void combination(string& digits,int index,string& result,vector<string>&results){if(index==digits.size()){results.emplace_back(result);}char temp=digits[index];string pos=phoneMap[temp];for(auto p:pos){result+=p;combination(digits,index+1,result,results);result.pop_back();}}};
