From 4af586dcdb1c6a81a658374d32819d06bceadbd1 Mon Sep 17 00:00:00 2001 From: Deven <63876261+devenperez@users.noreply.github.com> Date: Thu, 14 Jul 2022 13:07:48 -0400 Subject: [PATCH] Time: 20 ms (83.79%), Space: 13.5 MB (81.46%) - LeetHub --- 20-valid-parentheses/20-valid-parentheses.py | 27 ++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 20-valid-parentheses/20-valid-parentheses.py diff --git a/20-valid-parentheses/20-valid-parentheses.py b/20-valid-parentheses/20-valid-parentheses.py new file mode 100644 index 0000000..5bb2448 --- /dev/null +++ b/20-valid-parentheses/20-valid-parentheses.py @@ -0,0 +1,27 @@ +class Solution(object): + def isValid(self, s): + """ + :type s: str + :rtype: bool + """ + openBrackets = "({[" + closedBrackets = ")}]" + openStack = "" + + for ch in s: + if ch in openBrackets: + # Add open brackets to the stack + openStack += ch + else: # elif ch in closedBrackets: (Contrant given: s only contains brackets) + # Invalid if no open brackets + if len(openStack) == 0: + return False + + # Check that the last bracket on stack is same type as close + if openStack[-1] == openBrackets[closedBrackets.index(ch)]: + openStack = openStack[:-1] + else: + return False + + # Only true if no outstanding open brackets + return openStack == "" \ No newline at end of file