一、题目
二、思路
1、利用哈希容器储存字符串以及他们出现的次数
2、如果次数为偶数,则直接累加
3、如果次数为奇数,则减去1再累加
4、最后返回所有累加和+1,并注意如果没有奇数则不需要额外+1
三、代码
class Solution {
public:
int longestPalindrome(string s) {
unordered_map<char,int>dic;
for(int i=0;i<s.length();++i)
{
dic[s[i]]++;
}
int Count=0;
int pos=0;
for(auto iter=dic.begin();iter!=dic.end();++iter)
{
if(iter->second%2==0)
{
Count+=iter->second;
}
else
{
pos=1;
Count+=iter->second-1;
}
}
if(pos==1)
{
return Count+1;
}
else
{
return Count;
}
return Count;
}
};