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-面试算法经典-Java实现】【022-Generate Parentheses(生成括号)】

【022-Generate Parentheses(生成括号)】【LeetCode-面试算法经典-Java实现】【所有题目目录索引】原题  Given n pairs of parentheses, ...
  • DERRANTCM
  • DERRANTCM
  • 2015年07月23日 07:52
  • 2381

LeetCode 22:Generate Parentheses的递归,回溯两种解法

Generate Parentheses Given n pairs of parentheses, write a function to generate all combination...
  • liuyuan185442111
  • liuyuan185442111
  • 2015年08月24日 11:29
  • 619

22.Generate Parentheses&n对括号的全部有效组合

Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes...
  • sjt091110317
  • sjt091110317
  • 2015年06月05日 15:51
  • 500

每日算法之二十:Generate Parentheses

Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes...
  • yapian8
  • yapian8
  • 2014年05月26日 21:10
  • 744

Leetcode22. Generate Parentheses(生成有效的括号组合)

输入一个正整数N,打印出所有符合要求的括号组合。
  • qq_25827845
  • qq_25827845
  • 2017年07月10日 22:27
  • 766

代码的优化过程: 生成括号 Generate Parentheses

我是DFS的初学者,所以比较在意一些形式化的东西。现在我一步步得出那样的代码。   版本0:  学习permutation unique 的解法。    5     vector > permuteU...
  • zhangxx0811
  • zhangxx0811
  • 2014年02月22日 00:58
  • 586

LeetCodet题解--22. Generate Parentheses(生成n对匹配的括号)

链接 LeetCode题目:https://leetcode.com/problems/generate-parentheses GitHub代码:https://github.com/...
  • gatieme
  • gatieme
  • 2016年04月08日 11:45
  • 1583

算法设计与分析(15) -- Generate Parentheses(难度:Medium)

Generate Parentheses
  • alexlau8
  • alexlau8
  • 2017年05月29日 17:22
  • 143

关于generate用法的总结【Verilog】

Abtract generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复。这些语句可以包括模块实例引用的语句、连续赋值语句、always语句、initial语句和...
  • BBS_vip
  • BBS_vip
  • 2015年06月26日 20:21
  • 3729

CodeRush使用教程十五:代码修复提示

当你把鼠标放在code issue指示器上或标记的代码上时,就会出现一个代码修复提示,它会指出你代码的错误并给出解决方法。CodeRush 通常使用代码分发模块或重构来消除错误,而要用代码修复提示来...
  • xieyufei
  • xieyufei
  • 2013年09月12日 14:06
  • 903
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Generate Parentheses
举报原因:
原因补充:

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