给定一个仅包含数字 2-9
的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].
/** * @param {string} digits * @return {string[]} */ var letterCombinations = function(digits) { digits+=""; 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 item = []; for(var i = 0;i < digits.length; i++){ var num = digits[i]; if(item=="") { item = obj[num]; }else { var temp = []; for(var j = 0; j < item.length; j++){ for(var k = 0; k < obj[num].length; k++){ temp.push(item[j] + obj[num][k]); } } item = temp; } } return item; };