zoukankan      html  css  js  c++  java
  • 【LeetCode】20. Valid Parentheses

    题目:

    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;
            stack<char> bracket_stack;
            int i = 0;
            while (i < s.size()) {
                if (s[i] == '(' || s[i] == '{' || s[i] == '[') {
                    bracket_stack.push(s[i++]);
                }else {
                    if (!bracket_stack.empty() && (s[i] == ')' && bracket_stack.top() == '(' ||
                        s[i] == '}' && bracket_stack.top() == '{' ||
                        s[i] == ']' && bracket_stack.top() == '[')) {
                            bracket_stack.pop();
                            ++i;
                    } else {
                        return false;
                    }
                }
            }
            if (!bracket_stack.empty()) return false;
            return true;
        }
    };
  • 相关阅读:
    Node.js中流程控制
    设计模式六大原则(转)
    Python中装饰器(转)
    cocos2d-js反射
    With as
    Python中sort与sorted函数
    cocos+kbe问题记录
    Python字符串
    vue判断Object对象是否包含每个键
    vue跳转其他页面并传参
  • 原文地址:https://www.cnblogs.com/jdneo/p/4757670.html
Copyright © 2011-2022 走看看