python 字符串去除驼峰

时间:2025-02-16 09:14:36

字符串驼峰指 相邻的三个字符 两端的两个字符相同,如: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