image.png

    1. package main
    2. import (
    3. "fmt"
    4. )
    5. func letterCombinations(digits string) []string {
    6. if digits == "" || len(digits) == 0 {
    7. return nil
    8. }
    9. nums :=[]string{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}
    10. list :=[]string{""}// 默认为空字符
    11. for i:=0;i<len(digits);i++{
    12. s :=nums[digits[i]-'0']
    13. size :=len(list)
    14. for j:=0;j<size;j++{
    15. first := list[0]
    16. list = list[1:]
    17. for k:=0;k<len(s);k++{
    18. list = append(list,first+string(s[k]))
    19. }
    20. }
    21. }
    22. return list
    23. }
    24. func main() {
    25. fmt.Println(letterCombinations("23"))
    26. }

    image.png

    func letterCombinations(digits string) []string {
        if digits == "" || len(digits) == 0 {
            return nil
        }
        nums :=[]string{"","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"}
        var res []string
        res = append(res,"")
        for i :=range digits{
             s := nums[digits[i]-'0']
             var temp []string
             for i:=0;i<len(s);i++{
                 for j:=0;j<len(res);j++{
                     temp = append(temp,res[j]+string(s[i]))
    
                }
             }
             res = temp
        }
        return res
    }
    
    
    func main() {
        fmt.Println(letterCombinations("234"))
    }
    

    image.png