题目要求
解题思路
利用栈来解决本道题,左括号进栈,右括号出栈。需要判断第一个字符是右括号的情况
代码实现
class Solution
{
public:bool isValid(string s) {//利用栈来解决stack<char> st;for(auto& e:s){//是左括号就进if(e=='('||e=='['||e=='{')st.push(e);//右括号就出else{//避免第一个就是右括号的情况if(st.empty())return false;auto ch=st.top();st.pop();if(e==')'&&ch!='('||e==']'&&ch!='['||e=='}'&&ch!='{')return false;}}return st.empty();}
};