리셋 문제 - 전화번호의 알파벳 조합
9969 단어 문제를 풀다
1. 해시는 층층이 비치고 있다
/**
* @param {string} digits
* @return {string[]}
*/
var letterCombinations = function(digits) {
let res = []
if(digits.length === 0) return []
let map = {
2: 'abc',
3: 'def',
4: 'ghi',
5: 'jkl',
6: 'mno',
7: 'pqrs',
8: 'tuv',
9: 'wxyz'
}
for(let num of digits){
let chars = map[num]
if(res.length > 0){
let temp = []
for(let old of res){
for(let char of chars){
temp.push(old + char)
}
}
res = temp
}else {
res.push(...chars)
}
}
return res
};
2. 귀속
/**
* @param {string} digits
* @return {string[]}
*/
var letterCombinations = function(digits) {
let res = []
if(digits.length === 0) return []
let map = {
2: 'abc',
3: 'def',
4: 'ghi',
5: 'jkl',
6: 'mno',
7: 'pqrs',
8: 'tuv',
9: 'wxyz'
}
function generate(i, str){
let len = digits.length
if(i === len){
res.push(str)
return
}
let chars = map[digits[i]]
for(let j = 0; j < chars.length; j++ ){
generate(i+1, str + chars[j])
}
}
generate(0, '')
return res
};
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
리셋 문제 - 전화번호의 알파벳 조합제목:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number/ 1. 해시는 층층이 비치고 있다 2. 귀속...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.