| 123456789101112131415161718192021222324252627282930313233343536373839 | 
							- package main
 
- var mBtn = map[byte][]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 letterCombinationsIter(digits string, last []string) []string {
 
- 	if len(digits) == 0 {
 
- 		return last
 
- 	}
 
- 	res := make([]string, 0)
 
- 	char := mBtn[digits[0]]
 
- 	for _, v := range last {
 
- 		for _, c := range char {
 
- 			res = append(res, v+c)
 
- 		}
 
- 	}
 
- 	return letterCombinationsIter(digits[1:], res)
 
- }
 
- func letterCombinations(digits string) []string {
 
- 	if len(digits) == 0 {
 
- 		return []string{}
 
- 	}
 
- 	return letterCombinationsIter(digits[1:], mBtn[digits[0]])
 
- }
 
- /* func main() {
 
- 	fmt.Println(letterCombinations("23"))
 
- 	fmt.Println(letterCombinations("234"))
 
- }
 
- */
 
 
  |