leetcode-电话号码组合

46 阅读1分钟
var letterCombinations = function(digits) {
    let res = [], path = []
    let n = digits.length
    let map = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
    function backTracking(digits,n,index){
        // 使用回溯的思想
        if(path.length==n){
            res.push(path.join(""))
            return
        }
        // 写明回溯体 
        for(let i of map[digits[index]]){
            path.push(i)
            backTracking(digits,n,index+1)
            path.pop()
        }
    }
    if(!digits) return res
    if(n===1) return map[digits-'0'].split("")
    backTracking(digits,n,0)
    return res
};