【Leetcode长征系列】Letter Combinations of a Phone Number
来源:互联网 发布:淘宝美女店主 编辑:程序博客网 时间:2024/06/04 17:56
原题:
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.
思路:涉及到排列组合问题,使用递归专门处理组合问题。一开始老是runtime error,主要问题出在string char以及const char的转换上,比较烦人。思路比较简单的。
代码:
class Solution {public: vector<string> letterCombinations(string digits) { vector<string> res, tmp; if(digits.size()==0) { string str = ""; res.push_back(str); return res; } for (int i = 0; i<digits.size(); i++){ string accord = digitString(digits[i]); tmp.push_back(accord); } return makecombine(tmp.begin(),tmp.end()); } vector<string> makecombine(vector<string>::iterator first, vector<string>::iterator last){ vector<string> res,tmp; if(first==last) return res; tmp = makecombine(first+1,last); for(string::iterator it = (*first).begin(); it!=(*first).end(); it++){ if(tmp.empty()) { string t = ""; t = t + *it; res.push_back(t); } else { for(int j = 0; j<tmp.size(); j++){ string t = ""; t = *it; t = t+tmp[j]; res.push_back(t); } } } return res; } string digitString(char a){ string str= ""; if (a-'0'==0) str =' '; else if(a -'0'== 1) ; else if(a -'0'== 2) str = "abc"; else if(a -'0'== 3) str = "def"; else if(a -'0'== 4) str = "ghi"; else if(a -'0'== 5) str = "jkl"; else if(a -'0'== 6) str = "mno"; else if(a -'0'== 7) str = "pqrs"; else if(a -'0'== 8) str = "tuv"; else if(a -'0'== 9) str = "wxyz"; return str; }};AC来的太突然受宠若惊- 。-
0 0
- 【Leetcode长征系列】Letter Combinations of a Phone Number
- leetcode系列(37)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
- [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
- [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
- Leetcode: Letter Combinations of a Phone Number
- 【leetcode】Letter Combinations of a Phone Number
- android中图片的三级缓存cache策略(内存/文件/网络)
- 美国大学申请录取委员会制度是怎么回事(下)
- 一道java题
- Android 滑动效果基础篇—— Gallery + GridView
- MSC3N获取物料批次特性及特性值
- 【Leetcode长征系列】Letter Combinations of a Phone Number
- 使用U盘安装CentOS6.2过程详解
- Android 最火快速开发框架AndroidAnnotations简介
- Android Animation学习(二) ApiDemos解析:基本Animatiors使用
- 湖南省第七届程序设计省赛 virus(LCIS)
- pmap confuse java applicaiton memeory used
- andoird jni - 应用出现各种权限问题解决
- C++中const限定符和指针
- org.hibernate.propertyaccessexception could not get a field value by reflection getter of