首页 > 代码库 > [leetcode] Generate Parentheses
[leetcode] Generate Parentheses
题目:(Backtrancing)
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:
"((()))", "(()())", "(())()", "()(())", "()()()"
题解:
比较特殊的一条backingtrancing,其实也就是和我们的套路略有点出入
public class Solution { public ArrayList<String> generateParenthesis(int n) { ArrayList<String> list =new ArrayList<String>(); generate(list,"",0,0,n); return list; } public void generate(ArrayList<String> list,String res,int leftNum,int rightNum,int n){ //防错误的右边括号出现 if(leftNum<rightNum) return ; if(leftNum==n&&rightNum==n){ list.add(res); return ; } if(leftNum==n){ generate(list,res+")",leftNum,rightNum+1,n); return ; } generate(list,res+"(",leftNum+1,rightNum,n); generate(list,res+")",leftNum,rightNum+1,n); }}
[leetcode] Generate Parentheses
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。