- 算法
栈 - 核心思想
括号的匹配是非常常见的和栈有关的题,括号的匹配很适合先入后出的思想。对于一个完美匹配的括号集,那必然存在如果前括号出现,令后括号入库,最后能完美匹配。否则则为false。 - 代码
class Solution {
public boolean isValid(String s) {
if(s.length() % 2 == 1) return false;
Stack<Character> st = new Stack<Character>();
for(char c:s.toCharArray()){
if(c == '(') st.push(')');
else if(c == '[') st.push(']');
else if(c == '{') st.push('}');
else if(st.empty() || c != st.pop()) return false;
}
return st.empty();
}
}