Problem:
Implement an algorithm to print all valid (e.g., properly opened and closed) combinations of n-pairs of parentheses.
给定一个正整数N,打印所有可能的N对括号序列,例子如下。
EXAMPLE:
input: 3 (e.g., 3 pairs of parentheses)
output: ()()(), ()(()), (())(), ((()))
My Code:
public class Parenthese {
public static void printParentheses(int n){
printSub(n, 0, 0, "");
}
public static void printSub(int n, int l, int r, String s){
if(l == n && r == n){
System.out.println("One result:" + s);
return;
}else {
if(l > r){
if(l < n) {
String s1 = s + '(';
printSub(n, l+1, r, s1);
}
String s2 = s+ ')';
printSub(n, l, r+1, s2);
}
if(l == r){
if(l<n){
String s1 = s + '(';
printSub(n, l+1, r, s1);
}
}
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
printParentheses(4);
}
}
One result:(((())))
One result:((()()))
One result:((())())
One result:((()))()
One result:(()(()))
One result:(()()())
One result:(()())()
One result:(())(())
One result:(())()()
One result:()((()))
One result:()(()())
One result:()(())()
One result:()()(())
One result:()()()()
分享到:
相关推荐
java java_leetcode题解之Longest Valid Parentheses.java
java java_leetcode题解之Maximum Nesting Depth of Two Valid Parentheses
c c语言_leetcode 0020_valid_parentheses.zip
js js_leetcode题解之20-valid-parentheses.js
c语言入门 C语言_leetcode题解之20-valid-parentheses.c
js js_leetcode题解之32-longest-valid-parentheses.js
c语言入门 C语言_leetcode题解之32-longest-valid-parentheses.c
leetcode 2 有效括号 给定一个只包含字符'(' , ')' , '{' , '}' , '['和']'的字符串,确定输入字符串是否有效。 输入字符串在以下情况下有效: * 左括号必须由相同类型的括号封闭。...类别:堆栈、序列处理
第四章 Leetcode 题解 ...20. Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 23. Merge k Sorted Lists 24. Swap Nodes in Pairs 25. Reverse Nodes in k-Group 26. Remove Dupli
颜色分类leetcode My Leetcode Problems Solutions Using javascript(ES6) 1 Two Sum ...Valid ...Find First and Last Position of Element in Sorted Array 在排序数组中查找元素的第一个和最后一个位
其中,“Valid Parentheses”是一道经典的字符串处理问题。这个题目要求我们编写一个函数,检查给定的字符串中括号的使用是否合法。具体来说,我们需要确保所有打开的括号都有对应的闭合括号,并且它们的顺序是正确...
本资源“The-parentheses-matching-the-test.rar”提供了一个C语言实现的括号匹配检验,旨在帮助学习者深入理解和应用C语言以及相关的数据结构。 括号匹配的核心在于检查一个字符串中的开括号(如"(", "[", "{")...
java lru leetcode ...Parentheses](./leetcode/动态规划-Longest Valid Parentheses.java) [动态规划-Maximum Length of Repeated Subarray](./leetcode/动态规划-Maximum Length of Repeated Subar
1. 有效的括号(Valid Parentheses):给定一个字符串,判断括号是否匹配,使用栈来解决。难度:简单 2. 删除最外层的括号(Remove Outermost Parentheses):给定一个字符串,删除最外层的括号,使用栈来解决。难度...
java java_leetcode题解之Generate Parentheses.java
java入门 java_leetcode题解之22_Generate_Parentheses
leetcode 530 ** LeetCode 题目更新 ** 用来记录业余时间所做的算法题目,保持对于数据结构的熟悉。 ** ...Valid Parentheses 022 Generate Parentheses 028 Implement strStr() 031 Next Permutat
all sort algorithms Tree/Graph traverse: DFS,BFS,LFS 07/01/2015 Set up IntelliJ for Github Finish easy problems in Leetcode using java. 1.Roman to Integer 2.Binary Tree Level Order Travasal II 3....
js js_leetcode题解之22-generate-parentheses.js
java java_leetcode题解之Different Ways to Add Parentheses.java