字符串駝峯指 相鄰的三個字符 兩端的兩個字符相同,如: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