Skip to content

Commit 4a5bf39

Browse files
Add another method to check valid parentheses in ValidParentheses.java (#5616)
1 parent 732f7c8 commit 4a5bf39

File tree

2 files changed

+21
-0
lines changed

2 files changed

+21
-0
lines changed

src/main/java/com/thealgorithms/strings/ValidParentheses.java

+18
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,22 @@ public static boolean isValid(String s) {
3838
}
3939
return head == 0;
4040
}
41+
public static boolean isValidParentheses(String s) {
42+
int i = -1;
43+
char[] stack = new char[s.length()];
44+
String openBrackets = "({[";
45+
String closeBrackets = ")}]";
46+
for (char ch : s.toCharArray()) {
47+
if (openBrackets.indexOf(ch) != -1) {
48+
stack[++i] = ch;
49+
} else {
50+
if (i >= 0 && openBrackets.indexOf(stack[i]) == closeBrackets.indexOf(ch)) {
51+
i--;
52+
} else {
53+
return false;
54+
}
55+
}
56+
}
57+
return i == -1;
58+
}
4159
}

src/test/java/com/thealgorithms/strings/ValidParenthesesTest.java

+3
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,18 @@ public class ValidParenthesesTest {
1010
@Test
1111
void testOne() {
1212
assertTrue(ValidParentheses.isValid("()"));
13+
assertTrue(ValidParentheses.isValidParentheses("()"));
1314
}
1415

1516
@Test
1617
void testTwo() {
1718
assertTrue(ValidParentheses.isValid("()[]{}"));
19+
assertTrue(ValidParentheses.isValidParentheses("()[]{}"));
1820
}
1921

2022
@Test
2123
void testThree() {
2224
assertFalse(ValidParentheses.isValid("(]"));
25+
assertFalse(ValidParentheses.isValidParentheses("(]"));
2326
}
2427
}

0 commit comments

Comments
 (0)