-
-
Notifications
You must be signed in to change notification settings - Fork 299
/
1190.py
30 lines (30 loc) · 1.16 KB
/
1190.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
__________________________________________________________________________________________________
class Solution:
def reverseParentheses(self, s: str) -> str:
while '(' in s:
posopen=s.rfind('(')
posclose=s.find(')',posopen+1)
s=s[:posopen]+s[posopen+1:posclose][::-1]+s[posclose+1:]
return s
__________________________________________________________________________________________________
sample 32 ms submission
class Solution:
def reverseParentheses(self, s: str) -> str:
n, stack, i = len(s), [], 0
while i < n:
j = i + 1
if s[i] == "(":
stack.append(s[i])
elif s[i] == ")":
temp = []
while stack[-1] != "(":
temp.append(stack.pop()[::-1])
stack.pop()
stack.append("".join(temp))
else:
while j < n and s[j] not in ["(", ")"]:
j += 1
stack.append(s[i:j])
i = j
return "".join(stack)
__________________________________________________________________________________________________