aboutsummaryrefslogtreecommitdiff
path: root/reverse_substr_parentheses.py
diff options
context:
space:
mode:
Diffstat (limited to 'reverse_substr_parentheses.py')
-rw-r--r--reverse_substr_parentheses.py31
1 files changed, 31 insertions, 0 deletions
diff --git a/reverse_substr_parentheses.py b/reverse_substr_parentheses.py
new file mode 100644
index 0000000..499515d
--- /dev/null
+++ b/reverse_substr_parentheses.py
@@ -0,0 +1,31 @@
+# 1190. Reverse Substrings Between Each Pair of Parentheses
+
+"""
+you are given a string 's' that consists of lower case english letters and
+brackets. reverse the strings in each pair of matching parentheses, starting
+from the innermost one. your result should not contain any brackets.
+"""
+
+
+class Solution(object):
+ def reverseParentheses(self, s):
+ """
+ :type s: str
+ :rtype: str
+ """
+ ans = [""]
+ for c in s:
+ if c == "(":
+ ans.append("")
+ elif c == ")":
+ ans[len(ans) - 2] += ans.pop()[::-1]
+ else:
+ ans[-1] += c
+ return "".join(ans)
+
+
+if __name__ == "__main__":
+ obj = Solution()
+ print(obj.reverseParentheses(s="(abcd)"))
+ print(obj.reverseParentheses(s="(u(love)i)"))
+ print(obj.reverseParentheses(s="(ed(et(oc))el)"))