嘿,我正在写一个程序,它将删除字符串中连续的重复字符。在
例如:
字符串->;aabbccde
第一次迭代:bbccde
第二次迭代:ccde
第三次迭代:de
de就是答案。在
下面是我写的程序。在a = "aabbcs"
def remove_dups(st,ind):
print st, ind
st = st.replace(st[ind], "")
print st, "in dups"
find_dups(st)
def find_dups(text):
s=text
print s, "in find"
ln = len(s)
print ln
fg = 0
ind = 0
if ln==1:
print s, 'len'
return s
for i in range(0,ln-1):
if(s[i]==s[i+1]):
ind = i
remove_dups(s,ind)
print s, 'check'
return s
ans = find_dups(a)
print 'answer', ans
下面是我得到的输出
查找中的aabbcs
6
aabbcs 0
BBC在DUP中
查找中的bbcs
4
bbcs 0
重复中的cs
查找中的cs
2
cs检查
bbcs检查
aabbcs 2
在DUP中的AAC
find中的aacs
4
aacs 0
重复中的cs
查找中的cs
2
cs检查
aacs检查
aabbcs检查
回答aabbcs
上面我们已经得到了cs,但答案还是来了原始字符串,我可以理解它是因为递归,但无法理解如何解决这个问题。如果你能帮我一点忙,我将不胜感激。谢谢!在