LeetCode:Generating Parenthesis
2015-05-10 22:54
211 查看
import java.util.ArrayList; public class Solution { public ArrayList<String> generateParenthesis(int n) { ArrayList<String> list=new ArrayList<String>(); StringBuffer str=new StringBuffer(); if(n==0) return list; recursive(0,0,n,list,str); return list; } public void recursive(int left,int right,int n,ArrayList<String> list,StringBuffer str){ if(left<right) return ; if(left==n&&right==n){ String tmp=str.toString(); list.add(tmp); return; } if(left<n){ StringBuffer str2=new StringBuffer(str); str2.append('('); recursive(left+1,right,n,list,str2); } if(right<n){ StringBuffer str2=new StringBuffer(str); str2.append(')'); recursive(left,right+1,n,list,str2); } } }迭代求出括号所有配对情况 left right分别为当前待加入的括号个数。若left right均为0了则表示均已配对,输出当前序列。若left>0表示还有未加入左括号,故将其入。如果right>0并且left>right表示可以添加右括号,依次递归求得所有序列。
相关文章推荐
- 【leetcode】 generate parenthesis !!
- generateParenthesis——leetcode
- LeetCode 301: Remove Invalid Parenthesis
- [Leetcode] Generate Parenthesis
- 【LeetCode】Generate Parenthesis - Medium
- Leetcode 20 Valid Parenthesis
- Leetcode: Generate Parenthesis
- LeetCode-20 valid parenthesis
- leetcode Generate Parenthesis
- LeetCode - Valid Parenthesis
- CSU 1809 Parenthesis(RMQ||线段树)
- Rikka with Parenthesis II
- [LeetCode] 678. Valid Parenthesis String 验证括号字符串
- Rikka with Parenthesis II
- HDU5831-Rikka with Parenthesis II
- unbalanced parenthesis
- Contest1002 - HHU ACM 综合训练1 E题 Mouse and Parenthesis(线段树+括号匹配)
- csu Parenthesis
- hoj12008 Parenthesis
- 【暴力】UVALive - 4882 - Parenthesis