[Leetcode] 22. Generate Parentheses
来源:互联网 发布:南京淘宝兼职模特招聘 编辑:程序博客网 时间:2024/04/30 21:57
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
这道题很典型的回溯,值得注意的是,在helper里写new StringBuffer()就不行,写“”就可以。
import java.util.ArrayList;public class Solution { public ArrayList<String> generateParenthesis(int n) { ArrayList<String> result = new ArrayList<String>(); if(n <= 0) return result; helper(result, n, n, ""); return result; } private void helper(ArrayList<String> result, int leftRemain, int rightRemain, String s){ if(leftRemain == 0 && rightRemain == 0){ result.add(s); } if(leftRemain > rightRemain || leftRemain < 0 || rightRemain < 0){ return; } helper(result, leftRemain - 1, rightRemain, s + "("); helper(result, leftRemain, rightRemain - 1, s + ")"); }}
0 0
- [LeetCode]22.Generate Parentheses
- LeetCode --- 22. Generate Parentheses
- LeetCode 22.Generate Parentheses
- [Leetcode] 22. Generate Parentheses
- 【LeetCode】22.Generate Parentheses
- [leetcode] 22.Generate Parentheses
- 【leetcode】22. Generate Parentheses
- Leetcode-22.Generate Parentheses
- [leetcode] 22. Generate Parentheses
- 22. Generate Parentheses LeetCode
- leetcode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- leetcode 22. Generate Parentheses
- leetcode 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- [LeetCode]22. Generate Parentheses
- LeetCode *** 22. Generate Parentheses
- LeetCode 22. Generate Parentheses
- C# 关于从List或Collection中找出对象的某个属性值与另一个list相同的全部对象
- 终于把fedora20下apache的权限问题解决了
- 陈安之《终极成功秘诀》课程演讲会官方报名
- Android问题:自动导入需要的包
- C# hashTable的遍历【2种方法】与排序【3种方法】
- [Leetcode] 22. Generate Parentheses
- 杭电 acm 1017 A Mathematical Curiosity
- Android中Handler原理
- DataTable 将行表转化成交叉表
- C/C++预处理命令
- C宏参字符串化操作
- 黑马程序员--对面向对象的理解(二)--继承
- 【Github教程】史上最全github使用方法:github入门到精通
- 利用浏览器CSS渲染原理写出高性能的CSS代码