最長回文子串

2021-10-04 15:31:36 字數 952 閱讀 1262

題目:給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。

注意:假設字串的長度不會超過 1010。

示例:

輸入:「abccccdd」

輸出:7

解釋:我們可以構造的最長的回文串是"dccaccd",它的長度是 7。

思想1:正向思維,就是統計有多少個偶數字母加上1個奇數字母。這個題目和拼寫單詞題目都可以用陣列來統計出現次數,不過這次有大小寫字母之分,我們就需要設定陣列長度為128,a和a的ascii碼的範圍。

int

longestpalindrome1

(string s)

;//a和a的asii碼

int num=0;

for(

int i=

0;isize()

;i++

)for

(int i=

0;i<

128;i++)}

return num;

}

思想2:反向思維,不難發現我們也可以統計奇數出現的次數,然後總數目-奇數次數+1即可。試一下雜湊表。

**2:

int

longestpalindrome

(string s)

for(

auto i:hash)

//迴圈

}return count==

0?len:len-count+1;

}int

main()

加油哦!(●ˇ∀ˇ●)。

最長回文子串 最長回文子串行

1.最長回文子串行 可以不連續 include include include include using namespace std 遞迴方法,求解最長回文子串行 intlps char str,int i,int j intmain include include include using n...

最長回文子串

描述 輸入乙個字串,求出其中最長的回文子串。子串的含義是 在原串連續出現的字串片段。回文的含義是 正著看和倒著看是相同的,如abba和abbebba。在判斷是要求忽略所有的標點和空格,且忽略大小寫,但輸出時按原樣輸出 首尾不要輸出多餘的字串 輸入字串長度大於等於1小於等於5000,且單獨佔一行 如果...

最長回文子串

輸入乙個字元,求出其中最長的回文子串。子串的含義是 在元串中連續出現的字串片段。回文的含義是 正看和倒看相同,如abba和yyxyy,在判斷時候應該忽略所有的空格和標點符號,且忽略大小寫,但輸出應該保持原樣,輸入的字元長度不超過5000,且佔據單獨一行,輸出最長的回文子串 如有多個,輸出,起始位置最...