LeetCode 409 最長回文串

2021-10-22 14:27:03 字數 1002 閱讀 3097

409. 最長回文串

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

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

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

示例 1:

輸入:「abccccdd」

輸出:7

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

如果是偶數的話,全部加進去

如果是奇數的話,減一加進去

如果沒有加完,說明有奇數的存在,可以將奇數放在中間位置

陣列解法

/**

* 陣列的解法

* @param s

* @return

*/public

intlongestpalindrome_1

(string s)

int singlecharscount =0;

for(

int i =

0; i < arr.length; i++)}

return singlecharscount ==

0? chars.length : chars.length +

1- singlecharscount;

}

雜湊表解法

/**

* 雜湊表解法

* @param s

* @return

*/public

intlongestpalindrome

(string s)

int res =0;

for(character key : map.

keyset()

)return res < s.

length()

? res +

1: 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...