【发布时间】:2017-04-03 22:36:35
【问题描述】:
嘿,我正在尝试编写一个程序,该程序将从字符串中删除连续的重复字符。
例如:
字符串->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
英国广播公司在重复
英国广播公司在查找
4
英国广播公司 0
重复中的cs
查找中的 cs
2
cs检查
英国广播公司检查
aabbcs 2
重复中的 aacs
查找中的 aacs
4
aacs 0
重复中的cs
查找中的 cs
2
cs检查
aacs 检查
aabbcs 检查
回答 aabbcs
在上面我们得到了 cs 但仍然是原始字符串的答案,我可以理解这是因为递归,但无法理解如何解决问题。一点帮助将不胜感激。谢谢!
【问题讨论】:
标签: python string duplicates