字串 Leetcode409 最長回文串

2021-10-06 20:47:29 字數 893 閱讀 6254

題目:

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。

在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。

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

思路;這題是easy題,不難,但是會有一些小坑。

本題只是要求輸出最長回文串的長度,並沒有要求輸出最長字串,我在第一次做這個題目時看錯了要求,絞盡腦汁。。。後來才看到題目要求是輸出最長的長度???

回文串就是正著讀,倒著讀都是一樣的字串。因此,出現偶數次直接滿足要求,奇數可以考慮放中間也能符合要求,所以最後要記得加1.

本題我採用的思路是:先把所有字母出現的次數記錄下來,然後先判斷出現偶數次數,接著判斷個數大於1且為奇數,設定乙個標誌位用來記錄剩餘的狀態,最後在判斷下只出現一次的次數。

public

intlongestpalindrome

(string s)

int num =0;

//遍歷,判斷出現次數

for(

int j =

0;j(counter[j]%2

==1&& counter[j]

>1)

if(counter[j]==1

)}if(flag)

else

}}

public

intlongestpalindrome

(string s)

int palindrome =0;

for(

int cnt : cnts)

if(palindrome < s.

length()

)return palindrome;

}

leetcode 409 最長回文串 字元雜湊

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。回文字...

LeetCode 409 最長回文串

題目傳送 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7...

LeetCode 409 最長回文串

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。先排個...