zoukankan      html  css  js  c++  java
  • Generate Parentheses

    题目

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses.

    For example, given n = 3, a solution set is:

    "((()))", "(()())", "(())()", "()(())", "()()()"

    方法

    使用递归的思想。
        public void getParen(int left, int right, String str, List<String> list) {
            if (left == 0 && right == 0) {
                list.add(str);
            } else if (left == right) {
                str += "(";
                getParen(left - 1, right, str, list);
            } else {
                if (left > 0) {
                    String strLeft = str + "(";
                    getParen(left - 1, right, strLeft, list);
                }
                if (right > 0) {
                    String strRight = str + ")";
                    getParen(left, right - 1, strRight, list);
                }
            }
            
        }
        public List<String> generateParenthesis(int n) {
            List<String> list = new ArrayList<String>();
            String str = "";
            getParen(n, n , str, list);
            return list;
        }


  • 相关阅读:
    APIO2018 题解
    【THUWC2017】在美妙的数学王国中畅游(bzoj5020)
    【bzoj3270】博物馆
    【库存】NOI笔试习题集
    装饰器
    异常
    类的详解
    函数
    流程控制
    运算符
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6848511.html
Copyright © 2011-2022 走看看