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

    };

  • 相关阅读:
    验证控件没有向服务器发回数据
    立即窗口中体现回车换行
    初试发布功能
    文件内码不同造成的错误
    验证控件网页代码分析3
    VB自动把变量改成小写
    maven + eclipse + tomcat 实战JSP
    Java 多线程初探(一) 创建线程
    WebSocket简单使用(一) 概念
    JDBC的事务操作
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765785.html
Copyright © 2011-2022 走看看