题解 | #括号生成#

括号生成

https://www.nowcoder.com/practice/c9addb265cdf4cdd92c092c655d164ca

#include <vector>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param n int整型 
     * @return string字符串vector
     */
    vector<string> res;
    void dfs(int n , int count, string& s){
        if (s.size()==2*n) {
            if(count == 0){
                res.push_back(s);
                return;
            }

            return;
        }
        if(count+1<=n){
            s.push_back('(');
            count = count + 1;
            dfs(n, count, s);
            count = count - 1;
            s.pop_back();
        }
        if(count-1>=0) {
            s.push_back(')');
            count= count - 1;
            dfs(n,count,s);
            count = count +1;
            s.pop_back();
        }
    }
    vector<string> generateParenthesis(int n) {
        string s;
        dfs(n, 0, s);
        return res;
    }
};

全部评论

相关推荐

用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务