统计字符串中字符可构成回文字符串的最大长度
int longestPalindrome(string s) {
unordered_map<char, int> table;
for (int i = 0; i<s.size(); i++)
{
if (table.find(s[i]) == table.end()) // not found
table[s[i]] = 1;
else
table[s[i]]++;
}
int ans = 0;
int flag = 0;
unordered_map<char, int>::iterator it = table.begin();
for (; it != table.end(); it++)
{
if (it->second % 2 == 0)
ans += it->second; //数目若为偶数,必可全部使用
else
{
ans += (it->second - 1);
flag = 1; //若为奇数,取偶数数目
}
}
return ans + flag;
}