Letter Combinations of a Phone Number
来源:互联网 发布:淘宝大韩泡泡糖是高仿 编辑:程序博客网 时间:2024/06/04 23:18
题目:
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格式完成数字到号码的映射,然后采用树的深度优先搜索的方式来进行号码的组合
代码:
#include <iostream>#include <vector>#include <string>#include <map>using namespace std;class Solution {char str[100];map<int,string> mymap;//完成数字到字母的映射public: vector<string> letterCombinations(string digits) {vector<string > ret;//存放结果if(digits.empty()) {return ret;}//在输入为“”的情况下,输出为空,没有双引号/*数字到字母的映射*/mymap[0]="";mymap[1]="";mymap[2]="abc";mymap[3]="def";mymap[4]="ghi";mymap[5]="jkl";mymap[6]="mno";mymap[7]="pqrs";mymap[8]="tuv";mymap[9]="wxyz";dfs(digits,0,digits.size(),ret);return ret; }void dfs(string digits, int i,int len,vector<string> &ret)//深度优先搜索{if(i==len){str[len]='\0';ret.push_back(str);return;}else{for(int j=0;j<mymap[digits[i]-'0'].size();++j){str[i]=mymap[digits[i]-'0'][j];dfs(digits,i+1,len,ret);}}}};int main(){Solution s;string nums;nums="";vector<string> ret;ret=s.letterCombinations(nums);if(ret.empty()) cout<<endl;else{auto iter=ret.begin();for(;iter!=ret.end()-1;++iter) { cout<<"\""<<*iter<<"\""<<", "; }cout<<"\""<<*iter<<"\""<<endl;}system("pause");return 0;}
0 0
- LeetCode: Letter Combinations of a Phone Number
- LeetCode Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- [Leetcode] Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- LeetCode18:Letter Combinations of a Phone Number
- Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- LeetCode: Letter Combinations of a Phone Number
- Letter Combinations of a Phone Number
- Letter Combinations of a Phone Number
- [LeetCode]Letter Combinations of a Phone Number
- LeetCode-Letter Combinations of a Phone Number
- Letter Combinations of a Phone Number
- [LeetCode] Letter Combinations of a Phone Number
- Letter Combinations of a Phone Number
- LeetCode - Letter Combinations of a Phone Number
- LeetCode:Letter Combinations of a Phone Number
- C#高级编程第六天----枚举
- C++ STL之set详解
- 虚拟化(桌面、服务器)与显卡(本地、远端)
- 如何解压RPM包
- C++ 中的map
- Letter Combinations of a Phone Number
- Glog使用介绍与源码分析
- Android编译系统参考手册
- rails常用命令
- 如何获取Android唯一标识(唯一序列号)
- spring数据源配置
- 在web项目下引入hibernate配置文件
- Leetcode[26]-Remove Duplicates from Sorted Array
- poj 3169 spfa 差分约束