409 最長回文串

2021-10-04 03:45:12 字數 944 閱讀 4728

題目描述:

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

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

注意:

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

示例 1:

輸入:

"abccccdd"

輸出:7

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

(這次複製題目過來怎麼沒有版權資訊)

所以從之後開始,對於第一遍刷的題目,大概率會先去看看解題思路。

本題的解題思路借鑑於他人。

解題思路:

記錄所有字母出現的次數;

對於成對的字母,可以直接用於回文串;

單個的字母,可以用於正中間的位置。

錯誤點:

一開始做的時候,直接判斷字母的奇偶數量,把字母出現2n+1(n>0)次的情況和字母只出現1次的情況歸到了一起,導致錯誤,多做一次判斷就好了。

定義變數忘記初始化了,導致最後計算結果的時候出了問題。

int longestpalindrome(char * s)

; int i = 0;

do else

i++;

} while (s[i] != '\0');

int sum_even = 0;

int sum_odd = 0;

for (char k = 0; k < 52; k++)

else if (hsah_table[k] / 2 > 0)

else

}if (sum_odd > 0)

else

}

2020/3/19

409 最長回文串

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

409 最長回文串

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

409 最長回文串

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