删除字符串中的 'b' 和'ac',即保证删除后的结果中不存在'b'和'ac'
示例:
输入:"acbac" 输出:""
输入:"aaac" 输出:"aa"
输入:"ababc" 输出:"a"
对字符串中的每一个字符做遍历,首先判断字符是否等于b
,如果字符等于'b',删除该字符,拼接剩余的字符成为新的串,迭代计数不发生变化,接下来判断字符‘ac’的出现,如果字符'ac'出现,则拼接剩余字符为新串,这时候迭代计数i=i-1,因为删除了两个元素,字符串数组size-2,如果没有匹配到以上的2种模式,就i=i+1去判断下一个元素
def destring(std):
if std=='':
return ""
i=0
while i<len(std):
if std[i]=='b':
if i==0:
std=std[1:]
elif i==len(std)-1:
std=std[:len(std)-1]
break
else:
std=std[:i]+std[i+1:]
elif std[i]=='c' and std[i-1]=='a' and i>0:
if i==1:
std=std[2:]
i=i-1
elif i==len(std)-1:
std=std[:len(std)-1]
i=i-1
break
else:
std=std[:i-1]+std[i+1:]
i=i-1
else:
i=i+1
return std