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;
        }


  • 相关阅读:
    双指针
    二维数组 查找常用字符
    将数组分为相等的三部分
    交换 排序
    买股票
    双指针 回文数
    双指针
    测试SM图床
    cnpm,vue等命令不识别的问题废人解决方案
    typeof面试题解答
  • 原文地址:https://www.cnblogs.com/wzzkaifa/p/6848511.html
Copyright © 2011-2022 走看看