Letter Combinations of a Phone Number (电话号码字母组合) 【leetcode】

来源:互联网 发布:德州金蝶软件 编辑:程序博客网 时间:2024/05/16 04:35

题目:

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


题意就是按照给定的字符序列,找出所有可能的字母组合;


先把数字对于的字母集合存起来,用dfs遍历所有情况。

string num[10];char str[1000];vector<string>result;void hehe(string &digits,int i,int len){    if(i==len)    {        str[len]='\0';        string temp=str;        result.push_back(temp);        return;    }    int index=digits[i]-'0';    for(int j=0;j<num[index].size();++j)    {        str[i]=num[index][j];        hehe(digits,i+1,len);    }}class Solution {public:    vector<string> letterCombinations(string digits) {        int len=digits.size();        result.clear();        num[2]="abc";        num[3]="def";        num[4]="ghi";        num[5]="jkl";        num[6]="mno";        num[7]="pqrs";        num[8]="tuv";        num[9]="wxyz";        hehe(digits,0,len);        return result;    }};


原创粉丝点击