LeetCode 409. Longest Palindrome

来源:互联网 发布:青岛java培训学校 编辑:程序博客网 时间:2024/04/30 15:34

描述
求给出字符串所能构成的最长回文串

解决

利用hash表存对应字符的数量,然后分别统计偶数与奇数的个数


class Solution {public:    int longestPalindrome(string s) {        unordered_map<char, int> m;        int length = s.size();        for (int i = 0; i < length; ++i)        {            ++m[s[i]];        }        int even = 0, odd = 0, cntOdd = 0;        for (auto& it : m)        {            if (it.second % 2 == 0)                even += it.second;            else            {                odd += it.second;                ++cntOdd;            }        }              return cntOdd >= 2 ? even + odd - cntOdd + 1 : even + odd;    }};
0 0
原创粉丝点击