一句话理解
括号匹配:遇左括号入栈,遇右括号配栈顶。
为什么要学
栈的第一题。
讲解
类型要匹配。栈空还来右括号则失败。结束栈应空。
例子
for (char c : s) {
if (c=='(') st.push(c);
else {
if (st.empty()) return false;
st.pop();
}
}
return st.empty();
只考虑一种括号的简化版。多种括号还要检查类型。
常见错误
- 结束时栈非空没判。
- 多种括号只 pop 不看类型。