先記錄每個字元出現的次數;
然後除2在乘2;奇數次則會取最大偶數次;偶數次則不變;
然後判斷是否存在奇數次的字元;若存在且結果為偶數個字元,則結果加1
然後將這個字元陣列置0(必須置0);
int
longestpalindrome
(char
* s)
;for
(int i=
0;i<
strlen
(s);i++
) count[s[i]]++
;for
(int i=
0;i<
strlen
(s);i++
)return res;
}
我們希望的情況是每個字元有乙個陣列,這個陣列記錄著字元出現的次數
但是在第二次迴圈中有8個陣列,同一字元的陣列會重複出現字元個數次;
所以我們在第一次判斷並加入結構之後必須要將這個字元所對應重複出現的剩下全部陣列置0;
LeetCode 409 最長回文串
題目傳送 給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7...
LeetCode 409 最長回文串
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。示例 1 輸入 abccccdd 輸出 7 解釋 我們可以構造的最長的回文串是 dccaccd 它的長度是 7。先排個...
LeetCode 409 最長回文串
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造過程中,請注意區分大小寫。比如 aa 不能當做乙個回文字串。注意 假設字串的長度不會超過 1010。建立map存放26個大小寫字母的數量 如果該字母數量為偶數,則sum value 如果該字母數量為奇數,則把value...