您的位置:首页 > 编程语言 > Java开发

输出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");}}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: