LeetCode 22 括号生成

LeetCode 22 括号生成,第1张

编程语言:Java
题目链接:https://leetcode-cn.com/problems/generate-parentheses/
题解:也可以使用StringBuilder,记得每次要恢复状态即可,第一个AC是用了StringBuilder的。
难度:Medium
结果:

class Solution {
    static List<String> list=new LinkedList<>();

    public List<String> generateParenthesis(int n) {
        list.clear();
        dfs(0, 0, "", n);
        return list;
    }

    private static void dfs(int l, int r, String str, int n) {
        if (l == n && r == n) {
            list.add(str);
            return;
        }
        if (r < l) {
            dfs(l, r + 1, str + ")", n);
        }
        if (l < n) {
            dfs(l + 1, r, str + "(", n);
        }
        return;
    }
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/724018.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存