假設我們有一個字元串;我們必須從該字元串中找到所有回文子字元串。在這裡,aa和aa被視為兩個子字元串,而不是一個。
是以,如果輸入就像重新配置設定器,那麼輸出将是['r','e','d','i','v','ivi','divid','edivide','redivider' ,“ i”,“ d”,“ e”,“ r”]
為了解決這個問題,我們将遵循以下步驟-v:=一個新清單
位置:= 0.0
而pos
rad:= rad +1
rad:= pos-(pos為整數)
而(pos + rad) = 0,并且(s [(pos-rad)的整數與s [(pos + rad)的整數]相同)
pos:= pos + 0.5
傳回v
範例程式碼
讓我們看下面的實作以更好地了解-def get_all_pal_sub(s):
v = []
pos = 0.0
while pos
rad = pos - int(pos)
while ((pos + rad) = 0 and (s[int(pos - rad)] == s[int(pos + rad)])):
v.append(s[int(pos - rad): int(pos + rad + 1)])
rad += 1
pos += 0.5
return v
v = get_all_pal_sub("redivider")
print(len(v))
print(v)
輸入項"redivider"
輸出結果13 ['r', 'e', 'd', 'i', 'v', 'ivi', 'divid', 'edivide', 'redivider', 'i', 'd', 'e', 'r']