22. 括号生成
Posted 五月的海湾
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了22. 括号生成相关的知识,希望对你有一定的参考价值。
package leetcode; import java.util.ArrayList; import java.util.List; public class demo_22 { public List<String> generateParenthesis(int n) { List<String> list=new ArrayList<String>(); String s=""; //"("的个数 int left=0; //")"的个数 int right=0; backtrack(list, n, left, right, s); for(String ss:list) { System.out.print(ss+" "); } return list; } //深度优先生成树 public void backtrack(List<String> list,int n,int left,int right,String s) { //左括号的个数不能大于右括号 if(right>left) {return;} if(right==n&&left==n) { list.add(s); return; } if(left<n) { backtrack(list, n, left+1, right, s+"("); } if(right<n) { backtrack(list, n, left, right+1, s+")"); } } public static void main(String[] args) { // TODO Auto-generated method stub demo_22 d22=new demo_22(); d22.generateParenthesis(3); } }
以上是关于22. 括号生成的主要内容,如果未能解决你的问题,请参考以下文章