leetcode_gym/_problems/validParenthesis.md
2026-08-25 19:14:07 -06:00

1.2 KiB

layout, title, last_solved, category, leetcode_url, status
layout title last_solved category leetcode_url status
page Valid Parenthesis stack https://leetcode.com/problems/valid-parentheses Attempted

Problem

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid.

An input string is valid if:

Open brackets must be closed by the same type of brackets.
Open brackets must be closed in the correct order.
 

Example 1:

Input: s = "()"
Output: true
Example 2:

Input: s = "()[]{}"
Output: true
Example 3:

Input: s = "(]"
Output: false
Example 4:

Input: s = "([)]"
Output: false
Example 5:

Input: s = "{[]}"
Output: true

Solution

{% highlight python %}

def isValid(self, s: str) -> bool:
    
    stack = []
    
    for c in s:
        if c=='(':
            stack.append(')')
        elif c=='[':
            stack.append(']')
        elif c=='{':
            stack.append('}')
        elif not stack or stack.pop()!=c:
            return False
    
    return not stack

{% endhighlight %}


{% highlight python %}

{% endhighlight %}

image1