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

    };

  • 相关阅读:
    图像压缩算法
    Haar-like特征来龙去脉
    Haar-like特征来龙去脉
    DSP VLIB实验
    DSP VLIB实验
    “主宰世界”的10种算法短评
    “主宰世界”的10种算法短评
    matlab截取图像
    matlab截取图像
    matlab求取积分
  • 原文地址:https://www.cnblogs.com/shoemaker/p/4765785.html
Copyright © 2011-2022 走看看