美文网首页
LeetCode:22. 括号生成

LeetCode:22. 括号生成

作者: alex很累 | 来源:发表于2022-08-21 23:26 被阅读0次

问题链接

22. 括号生成

问题描述

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。

示例

输入:n = 3
输出:["((()))","(()())","(())()","()(())","()()()"]

输入:n = 1
输出:["()"]

解题思路

这是一道标准的回溯题;
我们可以每一次添加一个括号:
如果(的数量小于n,我们可以添加一个(;
如果)的数量小于(的数量,我们可以选择添加一个)
(的数量达到n时,我们在后面只能添加)

代码示例(JAVA)

class Solution {
    public List<String> generateParenthesis(int n) {
        List<String> ans = new ArrayList<>();
        backtrack(ans, n, 0, 0, new StringBuilder());
        return ans;
    }
    
    public void backtrack(List<String> ans, int n, int x, int y, StringBuilder str) {
        if (x == n) {
            for (; y < n; y++) {
                str.append(")");
            }
            ans.add(str.toString());
            return;
        }
        
        str.append("(");
        backtrack(ans, n, x + 1, y, new StringBuilder(str));
        
        if (y < x) {
            str.deleteCharAt(str.length() - 1);
            str.append(")");
            backtrack(ans, n, x, y + 1, new StringBuilder(str));
        }
    }
}

相关文章

  • 22. 括号生成

    22. 括号生成[https://leetcode.cn/problems/generate-parenthese...

  • LeetCode 22. 括号生成

    1、题目 22. 括号生成 - 力扣(LeetCode) https://leetcode-cn.com/prob...

  • LeetCode-22. 括号生成

    参考:第7课-泛型递归、树的递归 LeetCode-22. 括号生成 22. 括号生成 数字 n 代表生成括号的对...

  • LeetCode:22. 括号生成

    问题链接 22. 括号生成[https://leetcode.cn/problems/generate-paren...

  • 22. 括号生成

    22. 括号生成 题目链接:https://leetcode-cn.com/problems/generate-p...

  • 合法括号生成

    读完本文,你可以去力扣拿下如下题目: 22.括号生成[https://leetcode-cn.com/proble...

  • LeetCode - 22. 括号生成

    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n ...

  • [leetcode] 22. 括号生成

    难度:Medium. 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 ...

  • [Leetcode]22. 括号生成

    题目描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出...

  • LeetCode 22. 括号生成

    题目 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。 例:输入:n =...

网友评论

      本文标题:LeetCode:22. 括号生成

      本文链接:https://www.haomeiwen.com/subject/lvqbgrtx.html