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

    };

  • 相关阅读:
    EasyUI datagrid动态加载json数据
    利用EasyUI combobox实现模糊搜索
    SQL动态拼接字符串生成分页存储过程
    JavaScript函数表达式
    JavaScript继承
    JavaScript创建对象的常用模式
    JavaScript引用类型
    JavaScript执行环境
    JavaScript变量及数据类型
    jackson序列化和反序列化Json
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765785.html
Copyright © 2011-2022 走看看