LeetCode热题100 电话号码的字母组合
题目描述给定一个仅包含数字 2-9 的字符串返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下与电话按键相同。注意 1 不对应任何字母。示例 1输入digits “23”输出[“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”]示例 2输入digits “2”输出[“a”,“b”,“c”]提示1 digits.length 4digits[i] 是范围 [‘2’, ‘9’] 的一个数字。思路1 使用哈希表存储每个数字代表的字符串。2 digits的每个数字作为一层dfs每次挑出字符串中的一个字符出来组成答案。3 详细见代码。代码classSolution{public:// 利用哈希表存储每个数字的字符串unordered_mapchar,stringmp{{2,abc},{3,def},{4,ghi},{5,jkl},{6,mno},{7,pqrs},{8,tuv},{9,wxyz},};vectorstringletterCombinations(string digits){vectorstringans;string res;intpo0;// 遍历第po个位置的字符串string smp[digits[po]];intms.size();for(inti0;im;i){res.push_back(s[i]);dfs(digits,res,ans);res.pop_back();}returnans;}voiddfs(stringdigits,stringres,vectorstringans){if(res.size()digits.size()){ans.push_back(res);return;}intpores.size();// 遍历第po个位置的字符串string smp[digits[po]];intms.size();for(inti0;im;i){res.push_back(s[i]);dfs(digits,res,ans);res.pop_back();}}};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2411265.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!