很艰难地通过了,执行效率也差
# 评论区有用栈的,很恰当,很6。
class Solution:
def removeDuplicates(self, S: str) -> str:
# 最终我想到一个很拙劣的方法。。。辣眼睛。。。
# 因为连续的pop(i)导致不停地报错。IndexError: list index out of range
b = list(S)
cop = b.copy()
while True:
for i in range(len(b)-1):
if b[i] == b[i+1]:
b[i] = "?"
b[i+1] = "?"
# print("经过一轮操作之后 b: ", b)
# 说明经过上面的循环,原字符串的长度(自身)没变化,直接return
if b == cop:
return ''.join(b)
else:
b = list("".join(b).replace("??", ""))
cop = b.copy()
网友评论