copy:代码随想录
class Solution {
public:
bool isValid(string s) {
stack<int> st;
for (int i = 0; i < s.size(); i++) {
if (s[i] == '(') st.push(')');
else if (s[i] == '{') st.push('}');
else if (s[i] == '[') st.push(']');
// 第三种情况 || 第二种情况
else if (st.empty() || s[i] != st.top()) return false;
else st.pop();// st.top() 与 s[i]相等,栈弹出元素
}
return st.empty();// 第一种情况
}
};
尤其注意最后一个return
,千万不可直接写成return true
,还有第一种情况栈是否为空没有判断!