577
社区成员




字符串消消乐。相邻且相同的字符串可以消除,消除后字符继续消除,给你一串字符,给出最终的长度。字符串大小写敏感,有其他非字母字符返回0。
例如,在 "abbaca" 中,我们可以删除 "bb" 由于两字母相邻且相同,这是此时唯一可以执行删除操作的重复项。
之后我们得到字符串 "aaca",其中又只有 "aa" 可以执行重复项删除操作,所以最后的字符串为 "ca"。
主要考察的是递归算法
使用递归算法,替换函数
#!/usr/bin/python3
# -*- coding: utf-8 -*-
# 定义一个方法
def clearSameStr(str):
# 遍历字符移除相邻相同字符
temp=''
newStr=str
for char in str:
if char==temp:
newStr=newStr.replace(temp+char,'')
temp=''
clearSameStr(newStr)
else:
temp=char
# 判断新字符串是否还有相邻相同字母
temp=''
is_same=False
for char in str:
if char==temp:
is_same=True
break
else:
temp=char
if is_same:
return clearSameStr(newStr)
else:
return newStr
target_str='abbaca'
out_str=clearSameStr(target_str)
print(f'{out_str}')