题解 | #有效括号序列#

有效括号序列

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

class Solution {
public:
    bool isValid(string s) {
        //  有效一定是偶数大小
        //  这里不是边界,只是快速判断的条件
        //  可选添加
      if (s.size() % 2) {
        return false;
      }
      
      std::stack<char> stack_;
      
      for (int i = 0; i < s.size(); ++i) {
        char tmp = stack_.top();
        
        if (!stack_.empty() && 
           ((tmp == '(' && s[i] == ')') ||
              (tmp == '[' && s[i] == ']') ||
              (tmp == '{' && s[i] == '}'))) {
          stack_.pop();
          continue;
        }
        stack_.push(s[i]);
      }
      
      if (!stack_.empty()) {
        return false;
      }
      
      return true;
    }
};
全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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