zoukankan      html  css  js  c++  java
  • 蜗牛慢慢爬 LeetCode 20. Valid Parentheses [Difficulty: Easy]

    题目

    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.

    翻译

    括号匹配

    Hints

    Related Topics: Stack, String
    通过栈就可以简单实现了

    代码

    Java

    class Solution {
        public boolean isValid(String s) {
            Stack<Character> stack = new Stack<Character>();
            for(char c : s.toCharArray()){
                if(c == '(')    stack.push(')');
                else if(c=='[') stack.push(']');
                else if(c=='{') stack.push('}');
                else if (stack.isEmpty()||stack.pop()!=c)
                    return false;
            }
            return stack.isEmpty();
        }
    }
    

    Python

    class Solution(object):
        def isValid(self, s):
            """
            :type s: str
            :rtype: bool
            """
            stack = []
            for i in range(len(s)):
                if s[i]=='(' or s[i]=='[' or s[i]=='{':
                    stack.append(s[i])
                elif s[i]==')' or s[i]==']' or s[i]=='}':
                    if len(stack)==0:   return False
                    tmp = stack.pop()
                    if (s[i]==')' and tmp!='(') or (s[i]==']' and tmp!='[') or (s[i]=='}' and tmp!='{'):
                        return False
            if len(stack)!=0:
                return False
            return True
            
    
  • 相关阅读:
    泛型的内部原理:类型擦除以及类型擦除带来的问题
    Redis的那些最常见面试问题
    线程池全面解析
    对线程调度中Thread.sleep(0)的深入理解
    集群环境下Redis分布式锁
    3.8
    3.7
    3.6任务
    3.5任务
    3.4
  • 原文地址:https://www.cnblogs.com/cookielbsc/p/7491835.html
Copyright © 2011-2022 走看看