码迷,mamicode.com
首页 > 其他好文 > 详细

Letter Combinations of a Phone Number

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

标签:style   blog   http   color   os   io   strong   for   

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

标签:style   blog   http   color   os   io   strong   for   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!