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:()()()()
分享到:
相关推荐
其中,“Longest Valid Parentheses”是一道在LeetCode上常见的算法题目,要求编写一个函数来找出输入字符串中有效的括号配对的最大长度。 在Java中,解决这类问题通常需要对字符串进行遍历,并且利用栈、动态规划...
对于题目“Maximum Nesting Depth of Two Valid Parentheses”,我们可以将其理解为计算两个有效括号字符串中最深的嵌套深度。有效括号字符串通常指字符串仅由'('和')'构成,并且对于每个'(',都有一个相匹配的')'。...
c c语言_leetcode 0020_valid_parentheses.zip
今天,我们专注于题号为32的LeetCode题目“Longest Valid Parentheses”,即找出最长的有效括号匹配子串长度。 有效括号匹配是计算机科学中的经典问题,它要求识别并计算给定字符串中正确配对的括号数量。在编程...
leetcode 2 有效括号 给定一个只包含字符'(' , ')' , '{' , '}' , '['和']'的字符串,确定输入字符串是否有效。 输入字符串在以下情况下有效: * 左括号必须由相同类型的括号封闭。...类别:堆栈、序列处理
具体到文件标题中提到的“20-valid-parentheses.c”,这个文件应该是针对leetCode中第20号题目“有效的括号”的C语言实现。这道题目的核心要求是判断给定的字符串是否为有效的括号组合。有效的括号组合是指,对于每...
在LeetCode算法题目中,“20.有效的括号”是一道广泛讨论的问题,它要求编写一个函数来判断输入字符串...function isValid(s) { let stack = []; for (let i = 0; i ; i++) { // 检查当前字符是否为左括号 if (s[i]
本文是一篇专注于解决LeetCode平台中JavaScript语言编写的“32-最长有效括号”问题的题解文章。在介绍解题思路和实现方法之前,先对这个问题进行详细阐述。问题要求编写一个函数,该函数能够找到给定字符串中合法的...
第四章 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题解之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....
Valid Parentheses 21. Merge Two Sorted Lists 22. Generate Parentheses 25. Reverse Nodes in k-Group 26. Remove Duplicates from Sorted Array 27. Remove Element 28. Implement strStr() 3
Parentheses 用栈判断括号匹配 Regular Expression Matching 递归匹配 wildcard matching 动态规划 longest common prefix , 简单 valid number, hard, 用有限自动机 integer to roman ,easy , 模拟 roman to ...