-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathP_20.java
More file actions
32 lines (29 loc) · 923 Bytes
/
Copy pathP_20.java
File metadata and controls
32 lines (29 loc) · 923 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package leetcode.easy;
import java.util.ArrayDeque;
import java.util.Deque;
public class P_20 {
public boolean isValid(String s) {
final Deque<Character> dq = new ArrayDeque<>();
for (char c : s.toCharArray()) {
if (c == '(' || c == '{' || c == '[') {
dq.addFirst(c);
} else if (c == ')') {
if (dq.isEmpty() || dq.getFirst() != '(') {
return false;
}
dq.removeFirst();
} else if (c == '}') {
if (dq.isEmpty() || dq.getFirst() != '{') {
return false;
}
dq.removeFirst();
} else if (c == ']') {
if (dq.isEmpty() || dq.getFirst() != '[') {
return false;
}
dq.removeFirst();
}
}
return dq.isEmpty();
}
}