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;
      }

    };

  • 相关阅读:
    thinkphp 事物回滚
    文字超出部分以省略号隐藏
    js倒计时
    js 日期转为时间戳
    jquery 获取url地址参数
    spreadjs 自定义菜单事件
    spreadjs 点击事件
    spreadjs 自定义上传文件单元格
    spreadjs 小记
    Json数组排序
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765785.html
Copyright © 2011-2022 走看看