python 字符串去除駝峯

字符串駝峯指 相鄰的三個字符 兩端的兩個字符相同,如: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數據,但還需要再檢查一次是否有駝峯
          res.append(a[i])
      print res
   return res
if __name__ == "__main__":
    a1='cbaabacbaede'
    res=tuofeng(a1)
    print res

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章