字符串中的字符的数量是偶数或者奇数。
1.字符数为偶数,全部都使用
2.奇数。丢掉一个字符,剩下的为偶数,按偶数处理
3.若有剩余,随便选一个
class Solution {
public:
int longestPalindrome(string s) {
int char_map[128] = {0};//字符哈希
int max_len = 0;//偶数部分的长度
int flag = 0;//是否有中心点
for(int i =0;i<s.size();++i)
char_map[s[i]]++;
for(int i = 0;i<128;++i)
{
if(char_map[i]%2 == 0)
{
max_len += char_map[i];
}else{
max_len += char_map[i] - 1;
flag = 1;
}
}
return max_len + flag;
}
};