输出n对括号所有有效的匹配 java实现
2016-04-26 14:22
549 查看
原题 为 :Print all combinations of balanced parentheses
input: 3 (e.g., 3 pairs of parentheses)output: ()()(), ()(()), (())(), ((()))根据提议分析。我们先取n=3.画出所有的情况。
代码
package parenthesis;public class Parenthesis {static void printParenthesis(int pos , int n , int open ,int close ,char[] buffer){//System.out.println("step"+pos+" open is : "+ open + "close is :" + close);//System.out.println(new String(buffer));if(close == n){//System.out.println("over");System.out.println(new String(buffer));return;}if(open >close){buffer[pos]='}';printParenthesis(pos+1, n, open, close+1, buffer);}if(open <n){buffer[pos] = '{';printParenthesis(pos+1, n, open+1, close, buffer);}}public static void main(String[] args) {// TODO Auto-generated method stub//System.out.println("012142");int n = 4;char[] cs = new char[8];printParenthesis(0, 4, 0, 0, cs);//System.out.println("012143");}}
相关文章推荐
- 关于博主
- 深入学习Java虚拟机(三)
- spring4整合Hibernate4过程中遇到的事物管理问题
- Java SpringMVC项目导入excel2003以及2007多版本自动识别对应工具类(util)
- Spring Boot 之 HelloWorld详解
- Spring Boot 之 HelloWorld详解
- 趣味分数-三个数的最小公倍数-java
- Spring与Quartz的整合实现定时任务调度
- Java 类型转换
- leetcode 206 ---Reverse Linked List 链表 反转
- 【JavaEE框架】MyBatis基础使用
- 在导入eclipse项目到Android Studio出现这样的错误, 非法字符: '\ufeff' 解决方案|错误: 需要class, interface或enum,查阅后了解到Eclipse可以智
- java主键生成
- AES加密算法,JAVA实现示例
- java源码分析(2)-String(1)
- JavaWeb Filter
- Spring注解入门
- 趣味分数-辗转相除 (欧几里德算法) 递归算法 求最大公约数-java
- Java垃圾收集算法与内存泄露
- RxJava学习笔记