题解 | #括号生成#

括号生成

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

1、DFS

import java.util.*;


public class Solution {
    /**
     * 
     * @param n int整型 
     * @return string字符串ArrayList
     */
    private ArrayList<String> res;
    private int n;
    public ArrayList<String> generateParenthesis (int n) {
        // write code here
        this.n = n;
        this.res = new ArrayList<>();
        dfs("", 0, 0);
        return res;
    }

    private void dfs(String s, int l, int r) {
        if (l > n || r > n || r > l) return;
        if (l == n && r == n) {
            res.add(s);
            return;
        }
        dfs(s + "(", l + 1, r);
        dfs(s + ')', l, r + 1);
    }
}
全部评论

相关推荐

昨天 14:55
门头沟学院 Java
点赞 评论 收藏
分享
09-17 19:25
已编辑
太原理工大学 游戏测试
叁六玖:公司名发我,我要这个HR带我打瓦
我的秋招日记
点赞 评论 收藏
分享
08-05 18:14
门头沟学院 Java
小花的沉默:是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务