Explore diverse LeetCode solutions in Python, C++, JavaScript, SQL, and TypeScript. Ideal for interview prep, learning, and code practice in multiple programming languages. Github Repo Link
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 <= 104
s
consists of parentheses only'()[]{}'
.
Python
# time complexity: O(n)
# space complexity: O(n)
class Solution:
def isValid(self, s: str) -> bool:
bracketMap = {"(": ")", "[": "]", "{": "}"}
openSet = set(["(", "[", "{"])
stack = []
for char in s:
if char in openSet:
stack.append(char)
elif stack and char == bracketMap[stack[-1]]:
stack.pop()
else:
return False
return stack == []
Input = "(())"
print(Solution().isValid(Input))