Valid Parentheses
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.
Every close bracket has a corresponding open bracket of the same type.
Example 1:
Input: s = "()"
Output: true
Example 2:
Input: s = "()[]{}"
Output: true
Example 3:
Input: s = "(]"
Output: false
Constraints:
1 <= s.length <= 10<sup>4</sup>sconsists of parentheses only'()[]{}'.
Solutions:
class Solution:
def isValid(self, s: str) -> bool:
Map = {")": "(", "]": "[", "}": "{"} # close -> open
stack = []
for c in s:
# check for the start paranthesis
if c not in Map:
stack.append(c)
continue
# For the end paranthesis not in order
if not stack or stack[-1] != Map[c]:
return False
stack.pop()
return not stack