Leetcode 17 Letter Combinations of a Phone Number Solution in c++ | Hindi Coding Community

0

 



Given a string containing digits from 2-9 inclusive, return all possible letter combinations that the number could represent. Return the answer in any order.

A mapping of digits to letters (just like on the telephone buttons) is given below. Note that 1 does not map to any letters.


Example 1:


Input: digits = "23"

Output: ["ad","ae","af","bd","be","bf","cd","ce","cf"]

Example 2:


Input: digits = ""

Output: []




class Solution {
public:
unordered_map<char, string> mp {
{'2', "abc"},
{'3', "def"},
{'4', "ghi"},
{'5', "jkl"},
{'6', "mno"},
{'7', "pqrs"},
{'8', "tuv"},
{'9', "wxyz"}
};
vector<string> ans;
string st;

void solve(int id, string &digits) {
if(id == digits.size()) {
ans.push_back(st);
return;
}

for(char c: mp[digits[id]]) {
st.push_back(c);
solve(id+1, digits);
st.pop_back();
}
}

vector<string> letterCombinations(string digits) {
if(digits.size() == 0) return ans;
solve(0, digits);
return ans;
}
};


Post a Comment

0Comments
Post a Comment (0)

#buttons=(Accept !) #days=(20)

Our website uses cookies to enhance your experience. Learn More
Accept !