[leetcode] 17 Letter Combinations of a Phone Number
2015-02-17 14:26
501 查看
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.
Note:
Although the above answer is in lexicographical order, your answer could be in any order you want.
leetcode中Combination总共有四道题,总体思想上都是想通的,均是利用DFS,DFS方法的结构为:
void DFS(){
if(满足条件) 结束并push_back
else{
for()循环遍历{
push_back;
DFS(下一层);
pop_back();
}
}
}
其他方面本题基本没有什么特别的难点,按键对应的字母问题解决方案很多,本文的算是一种偷工减料的做法,无论如何,解决了就好
class Solution {
public:
string button[10] = {"","","abc","def","ghi","jkl","mno","qprs","tuv","wxyz"};
vector<string> ans;
vector<string> letterCombinations(string digits) {
string temp;
press(0, digits, temp);
return ans;
}
void press(int step, string digits, string &temp){
if(step== digits.size()){
ans.push_back(temp);
return;
}
else{
for(int i= 0; i< button[digits[step]- '0'].size(); i++){
temp.push_back(button[digits[step]-'0'][i]);
press(step+ 1, digits, temp);
temp.pop_back();
}
}
}
};
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.
leetcode中Combination总共有四道题,总体思想上都是想通的,均是利用DFS,DFS方法的结构为:
void DFS(){
if(满足条件) 结束并push_back
else{
for()循环遍历{
push_back;
DFS(下一层);
pop_back();
}
}
}
其他方面本题基本没有什么特别的难点,按键对应的字母问题解决方案很多,本文的算是一种偷工减料的做法,无论如何,解决了就好
class Solution {
public:
string button[10] = {"","","abc","def","ghi","jkl","mno","qprs","tuv","wxyz"};
vector<string> ans;
vector<string> letterCombinations(string digits) {
string temp;
press(0, digits, temp);
return ans;
}
void press(int step, string digits, string &temp){
if(step== digits.size()){
ans.push_back(temp);
return;
}
else{
for(int i= 0; i< button[digits[step]- '0'].size(); i++){
temp.push_back(button[digits[step]-'0'][i]);
press(step+ 1, digits, temp);
temp.pop_back();
}
}
}
};
相关文章推荐
- LeetCode | #17 Letter Combinations of a Phone Number
- leetcode 17 Letter Combinations of a Phone Number
- [Java]LeetCode17 Letter Combinations of a Phone Number
- LeetCode(17) Letter Combinations of a Phone Number
- [leetcode 17]Letter Combinations of a Phone Number
- 17. Letter Combinations of a Phone Number Leetcode Python
- [leetcode-17]Letter Combinations of a Phone Number(java)
- [Leetcode 47] 17 Letter Combinations of a Phone Number
- LeetCode 17: Letter Combinations of a Phone Number
- 【小熊刷题】Letter Combinations of a Phone Number <Leetcode 17, Java>
- [LeetCode 17] Letter Combinations of a Phone Number
- LeetCode 17 - Letter Combinations of a Phone Number
- LeetCode 17 Letter Combinations of a Phone Number
- LeetCode17:Letter Combinations of a Phone Number
- [leetcode 17] Letter Combinations of a Phone Number
- [*leetcode 17] Letter Combinations of a Phone Number
- Leetcode 17 Letter Combinations of a Phone Number
- LeetCode 17 Letter Combinations of a Phone Number(C,C++,Java,Python)
- [Leetcode]#17 Letter Combinations of a Phone Number
- leetcode 17 -- Letter Combinations of a Phone Number