字符串驼峰指 相邻的三个字符 两端的两个字符相同,如:aba、AcA
去驼峰从左到右,每遇到一组驼峰就消除,需要考虑之前不是驼峰,但是由于去除了中间字符新生成的驼峰。
例如:acacba
思路:
使用栈的思想,每次元素入栈,如果栈中的元素个数超过2个,则校验与当前的元素是否有驼峰,有驼峰则最后三个元素出栈
python实现如下:
def tuofeng(a):
if len(a)<=2:
return []
res = []
for i in range(0,len(a)+1):
if len(res)>2:
if res[-1]==res[-3]:
print 1
del res[-3:]
print res
if i<len(a): #最后一个元素入栈后,不再append数据,但还需要再检查一次是否有驼峰
(a[i])
print res
return res
if __name__ == "__main__":
a1='cbaabacbaede'
res=tuofeng(a1)
print res