Leetcode 第17题

first DFS

void DFS(string digits,vector<string> dic,int level,string out,vector<string> &res)
    {
        if(level==digits.size())
        {
            res.push_back(out);
        }
        else
        {
            string str=dic[digits[level]-'2'];
            for(int i=0;i<str.size();i++)
            {
                out+=str[i];
                DFS(digits,dic,level+1,out,res);
                out.pop_back();
            }
        }
    }
    vector<string> letterCombinations(string digits) {
        if(digits.empty()) return {};
        vector<string>dic{"abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"};
        vector<string> res;
        DFS(digits,dic,0,"",res);
        return res;
    }

猜你喜欢

转载自blog.csdn.net/TempterCyn/article/details/82871338