(1)暴力解法
遍歷字符串中所有的子串,然后對(duì)每個(gè)子串進(jìn)行回文檢測(cè)。時(shí)間復(fù)雜度O(n的三次方)
(2)對(duì)稱性質(zhì)改進(jìn)
遍歷所有子串改為遍歷所有子串的中心點(diǎn)华坦,向外擴(kuò)散,從左自右不从,受到邊界和對(duì)稱性的影響惜姐,當(dāng)長(zhǎng)度達(dá)到一定時(shí),達(dá)到邊界椿息,可不用再繼續(xù)往外擴(kuò)散探索歹袁。而整個(gè)字符串的字符以及字符間的空隙都有可能是這個(gè)中心點(diǎn)。只要遍歷所有這些中心點(diǎn)寝优,在向外擴(kuò)散的同時(shí)条舔,一邊注意左右字符是否對(duì)稱,一邊注意是否達(dá)到最大邊界即可乏矾。長(zhǎng)度為n的字符串的中心點(diǎn)有2n-1個(gè)孟抗。每個(gè)中心點(diǎn)的平均比較次數(shù)為n/4(最長(zhǎng)比較長(zhǎng)度為n/2)∽晷模總得算法時(shí)間復(fù)雜度為O(n的平方)凄硼。
(3)馬拉車算法