[LeetCode] Letter Combinations of a Phone Number 回溯

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"].

    这题其实不难,注意好递归传入的参数便可以了。
#include <vector>
#include <string>
#include <iostream>
using namespace std;

class Solution {
public:
    vector<string> letterCombinations(string digits) {
        ret.clear();
        if(digits.size()<=0)
            ret.push_back("");
        else
            help_f(0,digits,"");
        return ret;
    }
    vector<string> ret;
    vector<vector<char> >mp{{‘ ‘},
                            {},
                            {‘a‘,‘b‘,‘c‘},
                            {‘d‘,‘e‘,‘f‘},
                            {‘g‘,‘h‘,‘i‘},
                            {‘j‘,‘k‘,‘l‘},
                            {‘m‘,‘n‘,‘o‘},
                            {‘p‘,‘q‘,‘r‘,‘s‘},
                            {‘t‘,‘u‘,‘v‘},
                            {‘w‘,‘x‘,‘y‘,‘z‘}};
    void help_f(int nowIdx,string & digits,string curStr)
    {
        if(nowIdx==digits.size()){
            ret.push_back(curStr);
            return ;
        }
        int curNum = int(digits[nowIdx] - ‘0‘);
        for(int i =0;i<mp[curNum].size();i++)
            help_f(nowIdx+1,digits,curStr+mp[curNum][i]);
    }
};

int main()
{
    Solution sol;
    vector<string> ret=sol.letterCombinations("");
    for(int i=0;i<ret.size();i++)
        cout<<ret[i]<<endl;
    return 0;
}
时间: 2024-10-02 23:19:07

[LeetCode] Letter Combinations of a Phone Number 回溯的相关文章

LeetCode: Letter Combinations of a Phone Number [018]

[题目] 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"

Leetcode:Letter Combinations of a Phone Number 手机键盘字母映射

Letter Combinations of a Phone Number: 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" Outp

LeetCode: Letter Combinations of a Phone Number 解题报告

Letter Combinations of a Phone Number 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

LeetCode——Letter Combinations of a Phone Number

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", &q

[LeetCode] Letter Combinations of a Phone Number 电话号码的字母组合

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", &q

[LeetCode] Letter Combinations of a Phone Number(bfs)

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", &q

leetcode Letter Combinations of a Phone Number python

class Solution(object): def letterCombinations(self, digits): """ :type digits: str :rtype: List[str] """ if len(digits) <= 0: return list() alpha = ["","1","abc","def","ghi&quo

LeetCode Letter Combinations of a Phone Number 电话号码组合

题意:给一个电话号码,要求返回所有在手机上按键的组合,组合必须由键盘上号码的下方的字母组成. 思路:尼玛,一直RE,题意都不说0和1怎么办.DP解决. 1 class Solution { 2 public: 3 vector<string> ans; 4 string str; 5 6 void DFS(const string sett[], int siz, string t ) 7 { 8 int n=str[siz]-'0'; 9 if(siz==str.size()){ans.pu

leetCode 17. Letter Combinations of a Phone Number 字符串 | 回溯 | Medium

17. Letter Combinations of a Phone Number 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"Ou