题解 | #括号序列#
括号序列
http://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2
import java.util.*;
public class Solution {
/**
*
* @param s string字符串
* @return bool布尔型
*/
public boolean isValid (String s) {
// write code here
if(s == null || s.length() == 0) return true;
char[] cc = s.toCharArray();
Stack<Character> st = new Stack<>();
for(int i = 0; i < s.length(); ++i){
char c = cc[i];
char p = ' ';
switch(c){
case '(':
st.push(c);
break;
case '[':
st.push(c);
break;
case '{':
st.push(c);
break;
case ')':
if(st.size() == 0){
return false;
}
p = st.pop().charValue();
if(p == '('){
break;
}else{
return false;
}
case ']':
if(st.size() == 0){
return false;
}
p = st.pop().charValue();
if(p == '['){
break;
}else{
return false;
}
case '}':
if(st.size() == 0){
return false;
}
p = st.pop().charValue();
if(p == '{'){
break;
}else{
return false;
}
}
}
if(st.size() == 0){
return true;
}else{
return false;
}
}
} 