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