题解 | #括号序列#(用栈存储其匹配字符)

括号序列

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

  • 栈模拟,输入'[','{','('左括号符,在栈中存放其相反的右匹配符']'等 方便判断。
  • 当输入是右括号符,该符号肯定与栈顶的符号匹配否则不构成括号序列。
class Solution {
public:
    bool isValid(string s) {
        int len=s.size();
        stack<char> st;
        for(int i=0;i<len;i++){
            if(s[i]=='(')st.push(')');
            else if(s[i]=='[')st.push(']');
            else if(s[i]=='{')st.push('}');
            else if(st.empty())return false;
            else if(st.top()!=s[i])return false;
            else st.pop();
        }
        return st.empty();
    }
};
全部评论

相关推荐

点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
今天 17:30
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务