feat: add Valid Parentheses algorithm using Stack (#7117)

* feat: add Valid Parentheses algorithm using Stack

* fix: add missing ValidParentheses.java implementation

* fix: remove trailing spaces and add newline at EOF

* fix: remove misplaced ValidParentheses.java from root
This commit is contained in:
Gokul45-45
2025-11-27 16:59:48 +05:30
committed by GitHub
parent e841d73837
commit d1ea306920
2 changed files with 106 additions and 0 deletions

View File

@@ -0,0 +1,32 @@
package com.thealgorithms.stacks;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.Test;
class ValidParenthesesTest {
@Test
void testValidParentheses() {
assertTrue(ValidParentheses.isValid("()"));
assertTrue(ValidParentheses.isValid("()[]{}"));
assertTrue(ValidParentheses.isValid("{[]}"));
assertTrue(ValidParentheses.isValid(""));
}
@Test
void testInvalidParentheses() {
assertFalse(ValidParentheses.isValid("(]"));
assertFalse(ValidParentheses.isValid("([)]"));
assertFalse(ValidParentheses.isValid("{{{"));
assertFalse(ValidParentheses.isValid("}"));
assertFalse(ValidParentheses.isValid("("));
}
@Test
void testNullAndOddLength() {
assertFalse(ValidParentheses.isValid(null));
assertFalse(ValidParentheses.isValid("(()"));
}
}