https://leetcode.com/problems/letter-combinations-of-a-phone-number/
난이도 : medium
포함된 숫자가 2-9포함 된 문자열이 주어지면 숫자가 나타낼 수 있는 모든 가능한 문자 조합을 반환합니다. 순서 에 관계없이 답을 반환하십시오 .
첫 번째 순회시
ditis = 2 tmp = ""
// pad[2] = abc
// a
// swap tmp result
// b
// swap tmp result
// c
// swap tmp result
두 번재 순회
digit = 3 tmp = ""
pad[3]
d
swap tmp result
e
swap tmp result
f
swap tmp result
result 의 값 {a,b,c,d,e,f}
const vector<string> pad = {
"", "", "abc", "def", "ghi", "jkl",
"mno", "pqrs", "tuv", "wxyz"
};
vector<string> letterCombinations(string digits) {
if (digits.empty()) return {};
vector<string> result;
result.push_back("");
for(auto digit:digits) {
vector<string> tmp;
for(auto candinate: pad[digit - '0']) {
for(auto s: result) {
tmp.push_back(s + candinate);
}
}
result.swap(tmp);
}
return result;
}
409. Longest Palindrome (0) | 2021.09.04 |
---|---|
9. Palindrome Number (0) | 2021.09.04 |
49. Group Anagram (0) | 2021.09.04 |
344. Reverse String (0) | 2021.09.04 |
125. Valid Palindrome (0) | 2021.09.04 |
댓글 영역