1 class Solution(object): 2 def removeOuterParentheses(self, S: str) -> str: 3 li = list() 4 bcode = 0 5 temp = '' 6 result = '' 7 for i in range(len(S)): 8 if S[i]=='(': 9 bcode -= 1 10 else: 11 bcode += 1 12 temp += S[i] 13 if bcode == 0: 14 li.append(temp) 15 temp = '' 16 for j in range(len(li)): 17 result += li[j][1:len(li[j])-1] 18 19 return result
这道题目描述的很清晰,通过一个变量bcode来计算左右括号的数量,当bcode==0的时候,说明满足一个primitive,此时把到目前位置为止的字符串保存下来。
再把所有的primitive字符串都存储好之后。再依次将每一个primitive的第一个(下标0)字符和最后一个(下标len-1)字符去掉。在python中使用“切片”语法就可以实现。最终将去掉头尾的字符串拼接到一起,返回。