009_电话号码的字母组合
知识点:回溯
LeetCode第十七题:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/submissions/
语言:GoLang
// 回溯
var codeMap map[byte]string
func letterCombinations(digits string) []string {
if len(digits) == 0 {
return []string{}
}
codeMap = map[byte]string{
'2': "abc",
'3': "def",
'4': "ghi",
'5': "jkl",
'6': "mno",
'7': "pqrs",
'8': "tuv",
'9': "wxyz",
}
result := []string{}
backtrack(digits, []rune{}, &result)
return result
}
func backtrack(digits string, track []rune, result *[]string) {
if len(digits) == 0 {
*result = append(*result, string(track))
return
}
for _, item := range codeMap[digits[0]] {
track = append(track, item)
backtrack(digits[1:], track, result)
track = track[:len(track) - 1]
}
}

浙公网安备 33010602011771号