Leetcode409 最長回文串(C語言)

2021-10-02 21:57:13 字數 696 閱讀 4568

資料結構-字串:演算法與資料結構參考

題目:

給定乙個包含大寫字母和小寫字母的字串,找到通過這些字母構造成的最長的回文串。在構造中注意區分大小寫。例:

輸入:「abccccdd」

輸出:7

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

思路:

構造雜湊表,看每個元素數量的奇偶性。

注意不止乙個元素奇數個數的處理

**:

int

longestpalindrome

(char

* s)

;//26*2,大小寫字元

for(

int i=

0;i)//構造雜湊表

for(

int i=

0;i<

52;i++

)//每次遇到奇數減1,構成偶數(必能構成回文)if(

1==tmp[i]%2

) n--;if

(n==

strlen

(s))

return n;

//無奇數

else

return n+1;

//有奇數,加上最中間的1

}

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