输入N对括号,输出正确的配对组合
2012-10-28 21:45
190 查看
package com.mianshi.ms; import java.util.Stack; /** * 类说明 输入N对括号,输出正确的配对组合 */ public class NPair { public static Stack<String> doCompute(int N){ Stack<String > stack=new Stack<String>(); if(N==1){ stack.push("()"); return stack; } Stack<String> stack2=doCompute(N-1); while(stack2.size()>0){ String valString=stack2.pop(); stack.push("("+valString+")"); stack.push("()"+valString); if(!("()"+valString).equals(valString+"()")){ stack.push(valString+"()"); } } return stack; } public static void main(String[] args) { Stack<String> stack=new Stack<String>(); int N=3; stack=doCompute(N); for(String val:stack){ System.out.println(val); } } }
相关文章推荐
- 输入N对括号,输出正确的配对组合
- 9.9递归和动态规划(六)——打印n对括号的全部有效组合(即左右括号正确配对)
- 打印n对括号的全部有效组合(即左右括号正确配对)
- 9.9递归和动态规划(六)——打印n对括号的所有有效组合(即左右括号正确配对)
- 实现一种算法,打印n对括号的全部有效组合(即左右括号正确配对)
- 1:菱形输出星号;2:打印100~999所有的水仙花数;3:求Sn=a+aa+aaa+aaaa+aaaaa的前五项之和;4:从标准输入读取C源代码,验证所有的花括号都是正确的成对出现
- 打印n对括号的全部有效组合(即左右括号正确配对)
- 写正确程序需要注意的地方:输入一个正数n,输出所有和为n连续正数序列。
- 输出指定括号对数的所有可能组合
- LeetCode22——Generate Parentheses(给定n对括号,然后看有多少正确的括号组合)
- C语言输入一个字符串,输出字符串的所有组合
- Valid Parentheses(确定输入的括号是否正确)(map edition)
- 判别给定表达式中所含括号是否正确配对出现的算法
- 【编程题】输入一个字符串,输出该字符串中相邻字符的所有组合。
- 输入N个数,输出所有可能的排列组合(6+个小时啊,耶稣~)
- 输入一个表达式,没有括号,数字小于0-9之间,输出计算结果,所有的中间结果化为整形。 例如: 输入:3+8×2/9-2 输出:2
- 写正确函数需要注意的地方:输入两个整数n和m,从数列1,2,3,...n中随意取几个数,使其和为m,列出所有可能组合
- C语言:编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现
- 编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。
- 实现编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。