題目**
題目描述
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。
在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。
注意:
假設字串的長度不會超過 1010。
示例 1:
輸入: 「abccccdd」
輸出: 7
解釋:
我們可以構造的最長的回文串是"dccaccd", 它的長度是 7。
解題思路
1、什麼是回文串,從前往後讀和從後往前讀的順序都一樣。對於回文串來說,字元的個數是奇數有且只有乙個,在回文串的中心點,其他的字元的個數都是偶數
2、**邏輯:
(1)用陣列統計原字串中字元的個數
(2)取偶數個字元,分別放在左右兩邊(cnt/2) * 2
(3)如果比原字元的長度少,即還有剩下的字元,挑乙個字元放在中心點,構成回文串
**
class
solution
int res =0;
for(
int cnt : cnts)
if(res < s.
length()
) res++
;return res;
}}
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...