Longest Palindrome

class Solution {
public:
    int longestPalindrome(string s) {
        unordered_map<char, int> hashTable;
        for(int i=0; i<s.size(); ++i)
            hashTable[s[i]] += 1;
            
        int psum = 0;
        unordered_map<char, int>::iterator iter;
        bool flag = false;
        for(iter = hashTable.begin(); iter != hashTable.end(); ++iter)
        {
            if(iter->second % 2 == 0)
                psum += iter->second;
            else
            {
                flag = true;
                psum += iter->second - 1;
            }
        }
        
        if(flag)
            psum += 1;
        return psum;
    }
};

 

posted @ 2017-04-22 21:19  chengcy  Views(95)  Comments(0)    收藏  举报