LeetCode第17题
https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/
题目如下:
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。
给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。
示例:
输入:“23”
输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].
解题思路如下:
var letterCombinations = function(digits) {
if(!digits){return []}; //如果这个数组不存在,则返回空
let phoneNumber = ["","","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]; //创建一个数组先将电话号码存进去
let finallyResult = [""]; //创建一个数组,用于存放最终结果
for(let num of digits){ //使用for of循环可以将字符串分割
let result =[];
let str = phoneNumber[num];
for (let i of finallyResult){
for (let j of str){
result.push(i+j);
}
}
finallyResult = result;
}
return finallyResult
};