zoukankan      html  css  js  c++  java
  • LeetCode --- Valid Parentheses

    题目链接

    Problem discription

    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.

    Accpted Code:

     1 class Solution {
     2 public:
     3     bool isValid(string s) {
     4         map<char, char> brackets;
     5         brackets['{'] = '}';
     6         brackets['['] = ']';
     7         brackets['('] = ')';
     8         // use a stack to store every left brackets
     9         stack<char> leftBracket;
    10         // length of s
    11         int len = (int)s.length();
    12         
    13         for (int i = 0; i < len; i++) { 
    14             if (s[i] == '(' || s[i] == '[' || s[i] == '{') {
    15                 leftBracket.push(s[i]);
    16             } else {
    17                 // there is no left bracket
    18                 if (leftBracket.empty()) return false;
    19                 char last = leftBracket.top();
    20                 // the previous left bracket doesn't match s[i]
    21                 if (brackets[last] != s[i]) return false;
    22                 leftBracket.pop();
    23             }
    24         }
    25         // if there are some  brackets left 
    26         // not used(no right brackets to match them)
    27         return leftBracket.empty();
    28     }
    29 };
  • 相关阅读:
    mongodb的学习-1-NoSQL
    mongodb的学习-3-在Mac上的安装配置
    面试题之算法与编程
    笔试题之javaweb
    笔试题之j2ee
    笔试题之代码查错
    笔试题之java基础
    javaweb笔记分享
    过滤器入门
    jsp入门
  • 原文地址:https://www.cnblogs.com/Stomach-ache/p/3783608.html
Copyright © 2011-2022 走看看