Golang | Leetcode Golang题解之第17题电话号码的字母组合

题目:

题解:

Go 复制代码
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 combinations []string

func letterCombinations(digits string) []string {
    if len(digits) == 0 {
        return []string{}
    }
    combinations = []string{}
    backtrack(digits, 0, "")
    return combinations
}

func backtrack(digits string, index int, combination string) {
    if index == len(digits) {
        combinations = append(combinations, combination)
    } else {
        digit := string(digits[index])
        letters := phoneMap[digit]
        lettersCount := len(letters)
        for i := 0; i < lettersCount; i++ {
            backtrack(digits, index + 1, combination + string(letters[i]))
        }
    }
}
相关推荐
ゞ 正在缓冲99%…5 小时前
leetcode2826.将三个组排序
算法·leetcode·动态规划
九江Mgx6 小时前
Go语言实现的简易远程传屏工具:让你的屏幕「飞」起来
golang·截图·传屏
九江Mgx8 小时前
自由通讯的魔法:Go从零实现UDP/P2P 聊天工具
golang·udp·p2p
ErizJ8 小时前
IM|im-service
golang·kafka·go·im·心跳检测
微笑尅乐10 小时前
洗牌算法讲解——力扣384.打乱数组
算法·leetcode·职场和发展
天选之女wow10 小时前
【代码随想录算法训练营——Day48】单调栈——42.接雨水、84.柱状图中最大的矩形
算法·leetcode
仰泳的熊猫11 小时前
LeetCode:773. 滑动谜题
数据结构·c++·算法·leetcode
夏鹏今天学习了吗11 小时前
【LeetCode热题100(50/100)】岛屿数量
算法·leetcode·职场和发展
墨染点香11 小时前
LeetCode 刷题【134. 加油站】
算法·leetcode·职场和发展
绛洞花主敏明12 小时前
Gorm(六)错误处理 & RowsAffected
golang