File tree Expand file tree Collapse file tree 2 files changed +49
-1
lines changed Expand file tree Collapse file tree 2 files changed +49
-1
lines changed Original file line number Diff line number Diff line change 8
8
| 9 | [ PalindromeNumber] ( https://leetcode.com/problems/palindrome-number/ ) | Easy | [ ![ Java] ( https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png )] ( https://github.com/anishLearnsToCode/leetcode-algorithms/blob/master/src/PalindromeNumber.java ) |
9
9
| 13 | [ Roman To Integer] ( https://leetcode.com/problems/roman-to-integer/ ) | Easy | [ ![ Java] ( https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png )] ( https://github.com/anishLearnsToCode/leetcode-algorithms/blob/master/src/RomanToInteger.java ) |
10
10
| 14 | [ Longest Common Prefix] ( https://leetcode.com/problems/longest-common-prefix/ ) | Easy | [ ![ Java] ( https://img.icons8.com/color/40/000000/java-coffee-cup-logo.png )] ( https://github.com/anishLearnsToCode/leetcode-algorithms/blob/master/src/LongestCommonPrefix.java ) |
11
- | 2 | [ ] ( ) | Easy | |
11
+ | 20 | [ ValidParentheses ] ( https://leetcode.com/problems/valid-parentheses/ ) | Easy | |
12
12
| 2 | [ ] ( ) | Easy | |
13
13
| 2 | [ ] ( ) | Easy | |
14
14
| 2 | [ ] ( ) | Easy | |
Original file line number Diff line number Diff line change
1
+ // https://leetcode.com/problems/valid-parentheses/
2
+
3
+ import java .util .HashMap ;
4
+ import java .util .HashSet ;
5
+ import java .util .Map ;
6
+ import java .util .Set ;
7
+ import java .util .Stack ;
8
+
9
+ public class ValidParentheses {
10
+ private static final Set <Character > openBrackets = new HashSet <>();
11
+ private static final Map <Character , Character > inverse = new HashMap <>();
12
+
13
+ static {
14
+ openBrackets .add ('(' );
15
+ openBrackets .add ('{' );
16
+ openBrackets .add ('[' );
17
+
18
+ inverse .put (')' , '(' );
19
+ inverse .put ('}' , '{' );
20
+ inverse .put (']' , '[' );
21
+ }
22
+
23
+ public boolean isValid (String string ) {
24
+ Stack <Character > brackets = new Stack <>();
25
+ for (int index = 0 ; index < string .length () ; index ++) {
26
+ char character = string .charAt (index );
27
+ if (isOpenBracket (character )) {
28
+ brackets .push (character );
29
+ } else {
30
+ if (!brackets .isEmpty () && brackets .peek () == inverse (character )) {
31
+ brackets .pop ();
32
+ } else {
33
+ return false ;
34
+ }
35
+ }
36
+ }
37
+
38
+ return brackets .isEmpty ();
39
+ }
40
+
41
+ private char inverse (char bracket ) {
42
+ return inverse .get (bracket );
43
+ }
44
+
45
+ private boolean isOpenBracket (char bracket ) {
46
+ return openBrackets .contains (bracket );
47
+ }
48
+ }
You can’t perform that action at this time.
0 commit comments