mirror of
https://github.com/ShusenTang/LeetCode.git
synced 2024-09-02 14:20:01 +00:00
add C++ solution2
This commit is contained in:
parent
bed7d5f49b
commit
cf9aaf5cc7
@ -53,5 +53,26 @@ public:
|
||||
```
|
||||
|
||||
## 思路二
|
||||
见[此处](https://leetcode.com/problems/letter-combinations-of-a-phone-number/discuss/8454/My-C%2B%2B-solution-use-DFS).
|
||||
有时间了再自己实现一下。
|
||||
``` C++
|
||||
class Solution {
|
||||
private:
|
||||
const vector<string>digit2char{"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
|
||||
void DFS(const string &digits, string out, vector<string> &res){
|
||||
int start = out.size();
|
||||
if(start == digits.size()){
|
||||
res.push_back(out);
|
||||
return;
|
||||
}
|
||||
for(char c: digit2char[digits[start]-'0'])
|
||||
DFS(digits, out+c, res);
|
||||
}
|
||||
public:
|
||||
vector<string> letterCombinations(string digits) {
|
||||
vector<string>res;
|
||||
if(digits.size() == 0) return res;
|
||||
string out;
|
||||
DFS(digits, out, res);
|
||||
return res;
|
||||
}
|
||||
};
|
||||
```
|
||||
|
Loading…
Reference in New Issue
Block a user