题解 | #有效括号序列#利用栈和map函数

有效括号序列

https://www.nowcoder.com/practice/37548e94a270412c8b9fb85643c8ccc2

class Solution {
public:
    bool isValid(string s) {
        // write code here
        stack<char>st;
        int n=s.size();
        map<char,char>mp={{'(',')'},{'{','}'},{'[',']'}};  //用map(STL库函数)来一一比较括号;
        for(int i=0;i<n;i++){
            if(!st.empty()&&mp[st.top()]==s[i]){  //如果栈不为空且括号相匹配,则删除栈顶;
                st.pop();
            }
            else{
                st.push(s[i]);  //入栈;
            }
        }
        return st.empty();  //若清空则全部符合返回true,否则返回false;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务