mirror of
https://github.com/halfrost/LeetCode-Go.git
synced 2025-07-05 08:27:30 +08:00
Merge pull request #61 from xxgail/patch-1
Update 0017.Letter-Combinations-of-a-Phone-Number.md
This commit is contained in:
@ -66,3 +66,39 @@ func letterCombinations_(digits string) []string {
|
||||
}
|
||||
return tmp
|
||||
}
|
||||
|
||||
// 解法三 回溯(参考回溯模板,类似DFS)
|
||||
var result []string
|
||||
var dict = map[string][]string{
|
||||
"2": {"a", "b", "c"},
|
||||
"3": {"d", "e", "f"},
|
||||
"4": {"g", "h", "i"},
|
||||
"5": {"j", "k", "l"},
|
||||
"6": {"m", "n", "o"},
|
||||
"7": {"p", "q", "r", "s"},
|
||||
"8": {"t", "u", "v"},
|
||||
"9": {"w", "x", "y", "z"},
|
||||
}
|
||||
|
||||
func letterCombinationsBT(digits string) []string {
|
||||
result = []string{}
|
||||
if digits == "" {
|
||||
return result
|
||||
}
|
||||
letterFunc("", digits)
|
||||
return result
|
||||
}
|
||||
|
||||
func letterFunc(res string, digits string) {
|
||||
if digits == "" {
|
||||
result = append(result, res)
|
||||
return
|
||||
}
|
||||
k := digits[0:1]
|
||||
digits = digits[1:]
|
||||
for i := 0; i < len(dict[k]); i++ {
|
||||
res += dict[k][i]
|
||||
letterFunc(res, digits)
|
||||
res = res[0 : len(res)-1]
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user