本文主要是介绍LeetCode17- 电话号码的字母组合(Letter Combinations of a Phone Number),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
LeetCode17- 电话号码的字母组合(Letter Combinations of a Phone Number)
最近全国疫情严重,待在家里没事干,马上又要准备春招了,最近刷刷题,记录一下!再说一句,武汉加油,大家出门记得戴口罩!
1、题目
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:"23"
输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
2、思路
搜索
state={" "}
for 每个数字for c=当前数字的所有备选字母for s=state中的所有字符串s+=c将s加入到新的集合中去
3、代码
class Solution {
public:string chars[8]={"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};vector<string> letterCombinations(string digits) {if(digits.empty()) return vector<string>();vector<string> state(1,"");for(auto u:digits){vector<string> now;for(auto c:chars[u-'2']){for(auto s:state)now.push_back(s+c);}state=now; }return state;}
};
这篇关于LeetCode17- 电话号码的字母组合(Letter Combinations of a Phone Number)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!