leetcode17-根据数字找到可能的按键字母组合

来源:互联网 发布:$.each数组变化 编辑:程序博客网 时间:2024/05/21 10:21
/*这个解法是比较巧妙的*/vector<string> letterCombinations(string digits) {vector<string> res;string charmap[10] = { "0", "1", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz" };res.push_back("");//此时res的size=1//一个组合string的长度肯定小于digits.size()for (int i = 0; i < digits.size(); i++){//每次tempres都是新的,所以最后res中string都是size长度的vector<string> tempres;//digits[i] - '0'获得数组下标索引:0,1,2,3....//因此chars就取得了 "abc"或者"def"或者...string chars = charmap[digits[i] - '0'];//动态增长的两层循环,每次循环完了,res.size会增加for (int c = 0; c < chars.size(); c++)for (int j = 0; j < res.size(); j++){//每次为res中的每个字符串末尾添加一个新的字符tempres.push_back( res[j] + chars[c] ); }res = tempres;cout << "res.size = " << res.size() << endl;}return res;}

阅读全文
0 0