主页 > 互联网  > 

leetcode第17题求电话号码组合

leetcode第17题求电话号码组合

原题出于leetcode第17题 leetcode /problems/letter-combinations-of-a-phone-number/description/题目如下:

题目稍微有点复杂,初看会感觉特别复杂,首先我们需要理清思路:

最后的结果是字母组合,因此遍历的是字母,而字母对应数字,因此需要用二维数组构建从数字到字母的映射

假设digits=“23”,需要先从[a,b,c]中取一个字母,再从[d,e,f]中取,树形结构如下:

4.1树型结构

4.2代码 class Solution { public: string letterMap[10]={"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}; string s; vector<string> result; void backtracking(string digits,int index=0){ if(index==digits.size()){ result.push_back(s); return ; } int digit=digits[index]-'0'; string letter=letterMap[digit]; for(int i=0;i<letter.size();i++){ s.push_back(letter[i]); backtracking(digits,index+1); s.pop_back(); } return ; } vector<string> letterCombinations(string digits) { if(digits.empty()) return {}; backtracking(digits); return result; } };

以上树型结构图片出自代码随想录

标签:

leetcode第17题求电话号码组合由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“leetcode第17题求电话号码组合