class Solution {
private:
bool static compare(
int a,
int b)
{
return a>b;
}
public:
int longestPalindrome(
string s) {
map<char ,int > m;
for(
int i=
0;i<s.size();i++)
{
m[s[i]]++;
}
int rest=
0;
vector<int> v;
for(
map<char,int>::iterator it=m.begin();it!=m.end();it++)
{
if(it->second%
2==
0)
{
rest+=it->second;
}
else
{
v.push_back(it->second);
}
}
sort(v.begin(),v.end(),compare);
if(v.size()>
0)
{
rest+=v[
0];
}
for(
int i=
1;i<v.size();i++)
{
if(v[i]>
1)
rest+=(v[i]-
1);
else
break;
}
return rest;
}
};
转载请注明原文地址: https://ju.6miu.com/read-664097.html