leetcode Longest Palindrome
用map找每个元素出现个数,result +=偶数出现的次数,若其中有奇数次,-1取偶数次,最后+1即可。
######注意可以用unorderd_map提高效率。
代码如下:class Solution {
public:
int longestPalindrome(string s) {
map <char,int> count;
map <char,int> ::iterator it;
bool mark = false;
int result = 0;
for(char c : s)
count[c]++;
for(it = count.begin();it!=count.end();it++)
{
result +=it->second;
if(result%2==1)
{
result -=1;
mark = true;
}
}
if(mark)
result +=1;
return result;
}
};