首页 > 其他 > 详细

leetcode 22. 括号生成 dfs

时间:2019-10-30 00:15:11      阅读:108      评论:0      收藏:0      [点我收藏+]

先思考符合要求的串是什么样子的

任意时刻,(数量大于),且最后(==)==n即可

考虑下一个加入string的字符时(或者)即可

dfs

class Solution {
public:
    vector<string> generateParenthesis(int n) {
        vector<string>ret;
        if(n==0)
            return ret;
        string s;
        int l=0,r=0;
        dfs(ret,n,s,l,r);
        return ret;
    }
    void dfs(vector<string>&ret,int len,string s,int l,int r)
    {
        if(r==len){
            ret.push_back(s);
            return;
        }
        else
        {
            if(l<len)
            dfs(ret,len,s+"(",l+1,r);
            if(r<l)
            dfs(ret,len,s+")",l,r+1);
            return;
        }
    }
};

 

leetcode 22. 括号生成 dfs

原文:https://www.cnblogs.com/lqerio/p/11762010.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!