Leetcode 1298 Solution
This article provides solution to leetcode question 1298 (reverse-substrings-between-each-pair-of-parentheses)
Access this page by simply typing in "lcs 1298" in your browser address bar if you have bunnylol configured.
Leetcode Question Link
https://leetcode.com/problems/reverse-substrings-between-each-pair-of-parentheses
Solution
class Solution:
def reverseParentheses(self, s: str) -> str:
stack = []
pair = [None] * len(s)
cnt = 0
for i, ch in enumerate(s):
if ch == '(':
stack.append(i)
cnt += 1
elif ch == ')':
j = stack.pop()
pair[i] = j
pair[j] = i
cnt += 1
i = 0
d = 1
ans = ""
while len(ans) + cnt < len(s):
if s[i] == '(' or s[i] == ')':
i = pair[i]
d = -d
else:
ans += s[i]
i += d
return ans