arr.push(brr) 构建二维数组
function f(i) { dfs深度遍历
var letterCombinations = function (str) {
if(!str) return []
var obj = {
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'],
}
var len = str.length;
var arr = []
for (var i = 0; i < len; i++) {
var brr = obj[str[i]]
arr.push(brr)
}
function f(i) {
var res = []
var crr = arr[i]
if (i == arr.length - 1) {
return arr[arr.length - 1]
}
for (var j = 0; j < crr.length; j++) {
var item = crr[j]
var drr = f(i + 1).map(v => item + v)
res = res.concat(drr)
}
return res
}
return f(0)
};