题目
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
解题
var phoneMap map[string]string = map[string]string{
"2":"abc",
"3":"def",
"4":"ghi",
"5":"jkl",
"6":"mno",
"7":"pqrs",
"8":"tuv",
"9":"wxyz",
}
var result []string
func letterCombinations(digits string) []string {
if len(digits) < 1 {
return []string{}
}
result = []string{}
getCommString(digits,"",0)
return result
}
func getCommString(digits,dist string,index int){
if index == len(digits) {
result = append(result,dist)
} else {
digit := string(digits[index])
letters := phoneMap[digit]
for i := 0;i < len(letters); i++ {
getCommString(digits,dist+string(letters[i]),index+1)
}
}
}