LeetCode17:Letter Combinations of a Phone Number

原创 2015年07月07日 16:50:00

Given a digit string, return all possible letter combinations that the number could represent.

A mapping of digit to letters (just like on the telephone buttons) is given below.
这里写图片描述
Input:Digit string “23”
Output: [“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.

这明显的一道回溯法的题,使用深度优先遍历每个数字可能对应的字符,每遍历完一个字符回溯回下一个字符。使用一个字符串记录可能的路径,找到递归退出的条件是遍历完字符串。唯一要注意的一点是数字到字符之间的映射使用map< int ,string >可以实现,但是直接使用string[]也可以实现。
runtime:0ms

class Solution {
public:
    vector<string> letterCombinations(string digits) {
        vector<string> result;
        if(digits.size()==0)    
            return result;
        string nums[]={" ","00","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
        string path;
        helper(digits,0,path,result,nums);
        return result;

    }

    void helper(string digits,int pos,string &path,vector<string> &result,string * nums)
    {
        if(pos==digits.size())
        {
            result.push_back(path);
            return ;
        }
        string tmp=nums[digits[pos]-'0'];
        for(int i=0;i<tmp.size();i++)
        {
            path=path+tmp[i];
            helper(digits,pos+1,path,result,nums);
            path=path.substr(0,path.size()-1);
        }
    }
};

【LeetCode】LeetCode——第17题:Letter Combinations of a Phone Number

【LeetCode】LeetCode——第17题:Letter Combinations of a Phone Number
  • hujingshuang
  • hujingshuang
  • 2016年04月29日 21:40
  • 4683

LeetCode --- 17. Letter Combinations of a Phone Number

题目链接:Letter Combinations of a Phone Number Given a digit string, return all possible letter combina...
  • makuiyu
  • makuiyu
  • 2015年01月30日 21:30
  • 2559

[Java]LeetCode17 Letter Combinations of a Phone Number

[Java]LeetCode17 Letter Combinations of a Phone Number
  • fumier
  • fumier
  • 2015年04月24日 09:47
  • 960

[leetcode] 17. Letter Combinations of a Phone Number ,python实现【medium】

Letter Combinations of a Phone Number Given a digit string, return all possible letter comb...
  • zl87758539
  • zl87758539
  • 2016年06月14日 22:25
  • 787

LeetCode 17 Letter Combinations of a Phone Number(C,C++,Java,Python)

Problem: Given a digit string, return all possible letter combinations that the number could re...
  • runningtortoises
  • runningtortoises
  • 2015年05月10日 13:39
  • 2334

17. Letter Combinations of a Phone Number-python

Leetcode上对deque不支持,所以用list和游标模拟队列,应为这个题目是队列的经典应用。原题Given a digit string, return all possible letter ...
  • daigualu
  • daigualu
  • 2017年07月02日 10:03
  • 580

Letter Combinations of a Phone Number -- LeetCode

原题链接: http://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/  这道题目和求组合的思路差不多,比较简单。依次...
  • linhuanmars
  • linhuanmars
  • 2014年02月23日 06:54
  • 9817

【LeetCode with Python】 Letter Combinations of a Phone Number

Given a digit string, return all possible letter combinations that the number could represent. A ma...
  • nerv3x3
  • nerv3x3
  • 2014年07月06日 15:05
  • 3007

LeetCodet题解--17. Letter Combinations of a Phone Number(所有数字键盘组合所对应的所有字符集合)

链接 LeetCode题目:https://leetcode.com/problems/letter-combinations-of-a-phone-number/ GitHub代码:h...
  • gatieme
  • gatieme
  • 2016年04月07日 16:53
  • 1588

[LeetCode] 017. Letter Combinations of a Phone Number (Medium) (C++/Java/Python)

[LeetCode] 017. Letter Combinations of a Phone Number (Medium) (C++/Java/Python)
  • hcbbt
  • hcbbt
  • 2015年03月04日 15:47
  • 2796
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode17:Letter Combinations of a Phone Number
举报原因:
原因补充:

(最多只允许输入30个字)