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.
Input:Digit string “23”
Output: [“ad”,“ae”,“af”,“bd”,“be”,“bf”,“cd”,“ce”,“cf”].
var digitMap = []string{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}
func letterCombinations(digits string) []string {
results := []string{}
if len(digits) < 1 {
return []string{}
}
letters := digitMap[int(digits[0] - '0')]
if len(digits) == 1 {
for _,v := range letters {
results = append(results,string(v))
}
} else {
for _,v := range letters {
for _,vs := range letterCombinations(string(digits[1:])) {
results = append(results,string(v)+string(vs))
}
}
}
return results
}