这个比较简单,就是看有多少个成对的再加上一个落单的就行。
int longestPalindrome(string s) {
int count = 0;
vector<int> array(130,0);
for (char a:s) {
array[a]++;
}
int flag = 0;
for (int a:array) {
if (a%2 == 0) {
count += a;
} else if (a%2 == 1) {
flag = 1;
if (a > 1) {
count += (a-1);
}
}
}
if (flag) count++;
return count;
}