409. Longest Palindrome
給你一個包含大小寫的字串,請運用字串的字母建立一個最長回文字串,
最後回報回文字串的長度。
請注意字母有大小寫區別,如Aa不被視為回文字串。
Example 1:
Input: s = "abccccdd"
Output: 7
Explanation: One longest palindrome that can be built is "dccaccd", whose
length is 7.
Example 2:
Input: s = "a"
Output: 1
Explanation: The longest palindrome that can be built is "a", whose length is
1.
思路:
這題可以使用map的概念,分析每個字元的數量。如為偶數個,必能組成回文;
如為奇數個,則-1組成回文。所以,我們要找出共有多少個奇數數量的字元。
找出共有多少奇數數量字元後,因為回文字串中間能放一個奇數,
所以假如奇數數量字元>0,則length+1。
最後長度扣掉奇數個數即為答案。
C Code