leetcode 20 Valid Parentheses

Java:

class Solution {
    public boolean isValid(String s) {
        Stack<Character> stack = new Stack<>();
        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:
    def isValid(self, s):
        """
        :type s: str
        :rtype: bool
        """
        stack = []
        dic = {')':'(', ']':'[', '}':'{'}
        for char in s:
            if char in dic.values():
                stack.append(char)
            elif char in dic.keys():
                if stack == [] or dic[char] != stack.pop():
                    return False
        return stack == []

猜你喜欢

转载自blog.csdn.net/mrxjh/article/details/79740315