DEV Community

Abhishek Chaudhary
Abhishek Chaudhary

Posted on

Valid Parentheses

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

An input string is valid if:

  1. Open brackets must be closed by the same type of brackets.
  2. 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

Constraints:

  • 1 <= s.length <= 104
  • s consists of parentheses only '()[]{}'.

SOLUTION:

class Solution: def isValid(self, s: str) -> bool: stack = [] validPairs = ['()', '[]', '{}'] valid = True for bracket in s: if bracket in [b[0] for b in validPairs]: stack.append(bracket) else: if len(stack) > 0: if (stack.pop() + bracket) not in validPairs: valid = False break else: valid = False break if len(stack) > 0: valid = False return valid 
Enter fullscreen mode Exit fullscreen mode

Top comments (0)