LeetCode Generate Parentheses

时间:2014-07-19 15:27:54   收藏:0   阅读:279
class Solution {
public:
    vector<string> generateParenthesis(int n) {
        string str;
        vector<string> res;
        dfs(n, 0, 0, str, res);
        return res;
    }

    void dfs(int n, int L, int R, string str, vector<string> &res) {
        if (str.size() == n<<1) {
            res.push_back(str);
            return;
        }
        int len = str.length();
        for (int i = L + 1; i <= n; i++) {
            dfs(n, i, R, str + "(", res);
        }

        for (int i = R + 1; i <= n && R < L; i++) {
            dfs(n, L, i, str +")", res);
        }
    }
};

dfs暴力搜索,800ms+应该可以改进

LeetCode Generate Parentheses,布布扣,bubuko.com

原文:http://www.cnblogs.com/lailailai/p/3854132.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!