首页 > 其他 > 详细

Letter Combinations of a Phone Number

时间:2014-08-17 16:44:42      阅读:331      评论:0      收藏:0      [点我收藏+]

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.

bubuko.com,布布扣

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.

分析:暴力搜索所有结果。

代码如下:

 1 class Solution {
 2 public:
 3     const vector<string> keyboards{" ","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
 4     vector<string> letterCombinations(string digits) {
 5         vector<string> res;
 6         string path;
 7         dfs(res,path,digits,0);
 8         return res;
 9     }
10     void dfs(vector<string> & res, string & path, string digits, int k){
11         if(digits.size() == k){
12             res.push_back(path);
13             return;
14         }
15         for(auto c: keyboards[digits[k]-0]){
16             path.push_back(c);
17             dfs(res,path,digits,k+1);
18             path.pop_back();
19         }
20     }
21 };

 

Letter Combinations of a Phone Number,布布扣,bubuko.com

Letter Combinations of a Phone Number

原文:http://www.cnblogs.com/Kai-Xing/p/3917841.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!