diff options
Diffstat (limited to 'reverse_substr_parentheses.py')
-rw-r--r-- | reverse_substr_parentheses.py | 31 |
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)")) |