陈中正的网络日志

LeetCode: Letter Combinations of a Phone Number

题目:

https://oj.leetcode.com/problems/letter-combinations-of-a-phone-number/

分析:

DFS

代码:

class Solution
{
public:
    vector<string> letterCombinations(string digits)
    {
        string solution;
        dfs(digits, 0, solution);

        return res;
    }
    void dfs(string &digits, int index, string &solution)
    {
        if (index == digits.size())
        {
            res.push_back(solution);
            return;
        }
        else
        {
            for (auto &r : key[digits[index] - '0'])
            {
                solution.push_back(r);
                dfs(digits, index+1, solution);
                solution.pop_back();
            }
        }
    }
    vector<string> res;
    string key[10] = {"", 
        "", "abc", "def", 
        "ghi", "jkl", "mno",
        "pqrs", "tuv", "wxyz"};
};

本文章迁移自http://blog.csdn.net/timberwolf_2012/article/details/39272421

Categories:  OJ题解 

« LeetCode: Remove Nth Node From End of List LeetCode: Maximum Subarray »