电话号码的字母组合
给定一个字符串 s 表示一个整数嵌套列表,实现一个解析它的语法分析器并返回解析的结果 NestedInteger 。
列表中的每个元素只可能是整数或整数嵌套列表
输入:digits = “23”
输出:[“ad”,”ae”,”af”,”bd”,”be”,”bf”,”cd”,”ce”,”cf”]
输入:digits = “”
输出:[]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| var letterCombinations = function(digits) { let phone = { '2': 'abc', '3': 'def', '4': 'ghi', '5': 'jkl', '6': 'mno', '7': 'pqrs', '8': 'tuv', '9': 'wxyz' }; let arr = []; for (let i of digits) { arr = merge(arr, phone[i]); } return arr; };
const merge = (arr, str) => { let newArr = []; if (arr.length === 0) { for (let i of str) { newArr.push(i); } } else { for (let i of arr) { for (let j of str) { newArr.push(i + j); } } } return newArr; };
|