題目描述
給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。
在構造過程中,請注意區分大小寫。比如 「aa」 不能當做乙個回文字串。
注意:假設字串的長度不會超過 1010。
示例 1
:輸入:
"abccccdd"
輸出:7
解釋:我們可以構造的最長的回文串是"dccaccd"
, 它的長度是 7。
解題思路
我們可以看出來,最長回文串兩側出現的次數需要被2整除,如果有乙個單一項,可以將其加到中間。
思路就是:
**實現
/**
* @param s
* @return
*/var
longestpalindrome
=function
(s)// map用來儲存元素及其數量
// 獲取每個元素的個數
for(
let i =
0;i < arr.length; i++
)let res =
0// 遍歷map
for(
let item in map)
// 如果有單一的元素,就取乙個,只取一次。如果res%2不是0,說明已經加了一次,就不在加了
if(map[item]%2
===1
&& res%
2===0)
}return res
};
提交結果
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...