Generate Parentheses

原创 2015年11月19日 13:28:01

题目描述

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:
“((()))”, “(()())”, “(())()”, “()(())”, “()()()”

题目解答

解题思路

这是一个递归问题,要找到递归的规律, n个”(” ,n 个”)”分配
当left > 0时,填写”(”
当right > left时, 填写”)”

代码实现

public class Solution {

    /**
     * n个左括号 , n个右括号
     * 先放置左括号,然后再放置右括号
     * 递归的解决
     */
    public List<String> generateParenthesis(int n){

        List<String> ret = new ArrayList<>();
        parenthesesByRegression(ret, n, n, "");
        return ret;
    }

    public void parenthesesByRegression(List<String> ret, int left, int right, String temp){

        if(left == 0 && right ==0)
            ret.add(temp);
        if(left > 0)
            parenthesesByRegression(ret, left-1, right, temp+"(");
        if(right > left)
            parenthesesByRegression(ret, left, right-1, temp+")");
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

LeetCode 题解(Week15):22. Generate Parentheses

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

Generate Parentheses(LeetCode Algorithm Problem)

本体是一个括号匹配的问题,但不是检查一串括号是否匹配,而是输入括号的数量,将所有匹配的括号串输出。 原题链接Given n pairs of parentheses, write a functio...

【LeetCode从零单刷】Generate Parentheses

菜鸡从零单刷 LeetCode 系列!

22.Generate Parentheses

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

leetcode Generate Parentheses 回溯算法

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

Generate Parentheses

题目地址:

Generate Parentheses C++

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

leetcode之路022 Generate Parentheses

题目大意:给定n对圆括号,写一个函数求出所有的匹配组合。 例如:n=3,则所有的匹配组合为: "((()))", "(()())", "(())()", "()(())", "()()()" 这个排...

LeetCode | Generate Parentheses(生成括号)

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

LeetCode 22. Generate Parentheses 解题报告

LeetCode 22. Generate Parentheses 解题报告
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)