电话号码组合 - 我的解法
来源:3-3 电话号码组合-代码演示

慕斯卡7269444
2019-02-16
这么写是不是简洁一点。
var letterCombinations = function(digits) {
if (!digits.length) return [];
let multiply = (arr1, arr2) => {
let innerRes = []
for (let i = 0, len1 = arr1.length; i < len1; ++i) {
for (let j = 0, len2 = arr2.length; j < len2; ++j) {
innerRes.push(arr1[i]+arr2[j])
}
}
return innerRes
}
let res = [], arr = [[],[],['a','b','c'],['d','e','f'],['g','h','i'],['j','k','l'],['m','n','o'],['p','q','r','s'],['t','u','v'],['w','x','y','z']]
return digits.split('').reduce((prev, cur) => {
return multiply(prev, arr[Number(cur)])
}, [''])
};
写回答
2回答
-
Jay0Lu
2019-02-23
感谢!reduce 用的很厉害!
00 -
快乐动起来呀
2019-02-17
如果组合是多个呢,比如按键是3456
022019-02-17
相似问题