zoukankan      html  css  js  c++  java
  • [LeetCode] 20

    Given a string containing just the characters '('')''{''}''[' and ']', determine if the input string is valid.

    The brackets must close in the correct order, "()" and "()[]{}" are all valid but "(]" and "([)]" are not.

    class Solution {
    public:
      bool isValid(string s)
      {
        if (s.size() == 0) {
          return true;
        }
        if (s.size() % 2) {
         return false;
        }

        stack<char> stack_;
        for(int i = 0; i < s.size(); ++i) {
          char c0 = s[i];
          if(c0 == '(' || c0 == '[' || c0 =='{') {
            stack_.push(c0);
          }
          else {
            if (stack_.empty()) {
              return false;
            }
            char& c1 = stack_.top();
            if ( (c1 == '(' && c0 != ')') ||
              (c1 == '[' && c0 != ']') ||
              (c1 == '{' && c0 != '}') ) {
              return false;
            }
            stack_.pop();
          }
        }
        if (stack_.empty()) {
          return true;
        }
        return false;
      }

    };

  • 相关阅读:
    CrackRTFwp 顺便讲讲如何在pe文件中看资源
    开启驱动生涯
    hgame week2 week3
    hgamefinal re peko-chain!
    docker化hbase并使用外部zookeeper
    docker化canal-adapter
    脚本
    ansible模块-user
    esxi克隆虚拟机
    confluence配置搭建
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765785.html
Copyright © 2011-2022 走看看