zoukankan      html  css  js  c++  java
  • generateParenthesis

    22. 括号生成
    数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。
    示例:
    
    输入:n = 3
    输出:[
           "((()))",
           "(()())",
           "(())()",
           "()(())",
           "()()()"
         ]
    
    class Solution {
        List<String> list = new ArrayList<>();
        public List<String> generateParenthesis(int n) {
            if(n==0) return list;
            genres("", n, n);
            return this.list;
        }
        private void genres(String curres, int l, int r){
            // 如果左括号剩下的个数大于右括号的,就直接返回
            if(l==0 && r==0){
                this.list.add(curres);
                return;
            }
            if(l > r)
                return;
            if(l > 0){
                genres(curres + '(', l-1, r);
            }
            if(r > 0){
                genres(curres + ')', l,  r-1);
            }
        }
    }
    
  • 相关阅读:
    mapreduce 函数入门 三
    *hiho 1475
    hiho 1571
    hiho 1620
    hiho 1613
    centos下nginx配置
    hiho 1617
    hiho 172周
    uva 11584
    hiho1605
  • 原文地址:https://www.cnblogs.com/athony/p/13191351.html
Copyright © 2011-2022 走看看