-
Notifications
You must be signed in to change notification settings - Fork 1
/
20. Valid Parentheses
45 lines (44 loc) · 1.23 KB
/
20. Valid Parentheses
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
33
34
35
36
37
38
39
40
41
42
43
44
45
class Solution {
public boolean helper(String s){
Stack<Character> st = new Stack<>();
for(int i =0; i < s.length(); i++){
char ch = s.charAt(i);
if(ch == '(' || ch == '{' || ch == '['){
st.add(ch);
}
else{
if(ch == '}'){
if(st.isEmpty()||st.peek() != '{'){
return false;
}
if(!st.isEmpty()){
st.pop();
}
}
else if(ch == ']'){
if(st.isEmpty()||st.peek() != '['){
return false;
}
if(!st.isEmpty()){
st.pop();
}
}
else if(ch == ')'){
if(st.isEmpty()||st.peek() != '('){
return false;
}
if(!st.isEmpty()){
st.pop();
}
}
}
}
if(st.size() != 0){
return false;
}
return true;
}
public boolean isValid(String s) {
return helper(s);
}
}