18 - generate parentheses

来源:互联网 发布:fifo置换算法 编辑:程序博客网 时间:2024/06/08 14:52

Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

For example, given n = 3, a solution set is:

"((()))", "(()())", "(())()", "()(())", "()()()"


solutions: dfs,解这道题的时候leetcode不停报错internal error...晚点再测试

class Solution {public:    void generateResult(int left, int right, string result, vector<string> &res)    {        if(left == 0 && right == 0)            res.push_back(result);                if(left > 0)            generateResult(left-1, right, result + "(", res);                if(left < right)            generateResult(left, right-1, result + ")", res);                }    vector<string> generateParenthesis(int n) {        // Start typing your C/C++ solution below        // DO NOT write int main() function        vector<string> res();        if(n <= 0)            return res;                string result = "";                generateResult(n, n, result, res);                return res;    }};



原创粉丝点击