美文网首页
22. 括号生成

22. 括号生成

作者: bangbang2 | 来源:发表于2020-08-08 07:35 被阅读0次
image.png

利用的是回溯的思想,回溯其实就是二叉树不断的剪枝
首先来定义递归的出口
如果sb的长度等于2n,则说明递归要结束


image.png

如果左括号的长度小于n,则增加一个左括号


image.png
如果当前的左括号大于右括号,则添加右括号
image.png
class Solution {
    List<String> res=new ArrayList<>();
     StringBuilder sb=new StringBuilder();
    public List<String> generateParenthesis(int n) {
       
       back(0,0,n);
       return res;
    }
    public void back(int left,int right,int n){
       if(sb.length()==2*n){
           res.add(sb.toString());
           return;
       }  
       if(left<n){
           sb.append("(");
           back(left+1,right,n);
           sb.deleteCharAt(sb.length() - 1);
       }
       if (right < left) {
            sb.append(')');
            back(left, right+1, n);
            sb.deleteCharAt(sb.length() - 1);
        }




    }
}

相关文章

  • LeetCode-22. 括号生成

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

  • LeetCodeDay51 —— 括号生成★★☆

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

  • leetcode(python)22.括号生成

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

  • 22. 括号生成

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

  • [day7] [LeetCode] [title22,3,26]

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

  • 每周 ARTS 第 24 期

    1. Algorithm 22. 生成括号(中等) 描述: 给出 n 代表生成括号的对数,请你写出一个函数,使其能...

  • LeetCode:22. 括号生成

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

  • 22. 括号生成

    给出n代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出n=3,生成结果...

  • 22. 括号生成

    知乎ID: 码蹄疾码蹄疾,毕业于哈尔滨工业大学。小米广告第三代广告引擎的设计者、开发者;负责小米应用商店、日历、开...

  • 22. 括号生成

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

网友评论

      本文标题:22. 括号生成

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