题解 | #括号生成#

括号生成

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);
    }
}
全部评论

相关推荐

2024-12-27 13:08
华南理工大学 Java
蝴蝶飞出了潜水钟丿:多看一眼就会💥
点赞 评论 收藏
分享
02-05 08:49
已编辑
武汉大学 Web前端
野猪不是猪🐗:36k和36k之间亦有差距,ms的36k和pdd的36k不是一个概念
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务