一、解题思路
用map可以加快查询速度,DFS深度搜索,DFS是一种很常见的对于多循环或者n!的好的搜索算法.
二、代码:C++
void init(map<char, string> &mapDigit)
{
mapDigit.insert(pair<char, string>('2', "abc"));
mapDigit.insert(pair<char, string>('3', "def"));
mapDigit.insert(pair<char, string>('4', "ghi"));
mapDigit.insert(pair<char, string>('5', "jkl"));
mapDigit.insert(pair<char, string>('6', "mno"));
mapDigit.insert(pair<char, string>('7', "pqrs"));
mapDigit.insert(pair<char, string>('8', "tuv"));
mapDigit.insert(pair<char, string>('9', "wxyz"));
}
void DFS(vector<string> &res, string &digits, map<char, string>&mapDigit, string temp, int index2) {
if (temp.size() >= digits.size()) {
res.push_back(temp);
return;
}
string str1 = map