題目出處
1021. Remove Outermost Parentheses
難度
easy
題目分類
String, Stack, Bracket Sequences
2026-10-08 一刷
個人範例程式碼 - 一刷 (2026/10/08)
class Solution:
def removeOuterParentheses(self, s: str) -> str:
ans = []
remain_left = 0
for c in s:
if c == '(':
remain_left += 1
if remain_left > 1: # skip(remove) left when remain_left = 1
ans.append(c)
else: # ')'
remain_left -= 1
if remain_left > 0: # skip(remove) right when remain_left = 0
ans.append(c)
return "".join(ans)
算法說明
數學題,稍微思考一下可以推得,總之要刪除的就是深度為 1 的「(」,與對應的「)」
Time Complexity
O(n)
Space Complexity
O(n) # 不計解答 O(1)