File tree Expand file tree Collapse file tree 1 file changed +38
-0
lines changed
Expand file tree Collapse file tree 1 file changed +38
-0
lines changed Original file line number Diff line number Diff line change 1+ class Solution :
2+ """
3+ - Time Complexity: O(n), n = len(s)
4+ - Space Complexity: O(n)
5+ """
6+ def isValid (self , s : str ) -> bool :
7+ open_ch = { "(" :")" , "{" :"}" , "[" :"]" }
8+ close_ch = { ")" :"(" , "}" :"{" , "]" :"[" }
9+ st = []
10+
11+ for c in s :
12+ if c in open_ch :
13+ st .append (c )
14+ elif c in close_ch :
15+ if not st :
16+ return False
17+
18+ if close_ch [c ] != st [- 1 ]:
19+ return False
20+ else :
21+ st .pop ()
22+ else :
23+ # Error Cases (Invalid Input)
24+ return False
25+
26+ return len (st ) == 0
27+
28+ tc = [
29+ ("()" , True ),
30+ ("()[]{}" , True ),
31+ ("(]" , False ),
32+ ("([])" , True )
33+ ]
34+
35+ sol = Solution ()
36+ for i , (s , e ) in enumerate (tc , 1 ):
37+ r = sol .isValid (s )
38+ print (f"TC { i } is Passed!" if r == e else f"TC { i } is Failed! - Expected: { e } , Result: { r } " )
You can’t perform that action at this time.
0 commit comments