leetcode中等1190反转每对括号间的子串

Posted qq_40707462

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode中等1190反转每对括号间的子串相关的知识,希望对你有一定的参考价值。

在这里插入图片描述
思路:

使用栈记录左括号的位置,每遇到一个右括号,就取出栈里最后一个左括号,反转中间部分

class Solution:
    def reverseParentheses(self, s: str) -> str:
        def reverse(arr,left,right):
            while left<right:
                arr[left],arr[right]=arr[right],arr[left]
                right-=1
                left+=1

        arr=list(s)
        stack=[]
        res=""

        for i in range(len(arr)):
            if arr[i]=="(":
                stack.append(i)
            if arr[i]==")":
                reverse(arr,stack.pop()+1,i-1)
        for c in arr:
            if c!="(" and c!=")":
                res+=c
        return res

以上是关于leetcode中等1190反转每对括号间的子串的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 1190 反转每对括号间的子串[栈]

1190. 反转每对括号间的子串

1190. 反转每对括号间的子串

1190. 反转每对括号间的子串

LeetCode(22)反转每对字符串的子串(中等)

2021/5/26 刷题笔记反转每对括号间的子串