首页 > 代码库 > Letter Combinations of a Phone Number
Letter Combinations of a Phone Number
方法:使用递归的思想
这个问题与上一个问题的不同之处在于其在每个数字对应的字母中只能选择一个,这里的关键是对递归的过程有比较好的认识。
class Solution { public: const vector<string> keyboard{"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"}; vector<string> letterCombinations(string digits) { vector<string> result; if(digits.empty()) return result; dfs(digits, 0, "", result); return result; } void dfs(const string &digits, int cur, string path, vector<string> &result) { if(digits.size() == cur) { result.push_back(path); return; } for(int i=0; i <keyboard[digits[cur]-‘0‘].size(); ++i) dfs(digits, cur+1, path+keyboard[digits[cur]-‘0‘][i], result); } };
Letter Combinations of a Phone Number
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。