Skip to content

leetcode 409. 最长回文串

我的解题

典型的贪心思路

需要注意的是,对于数量为奇数的字符,也是可以加入的,可以选取其中的部分加入。

官方解题

#include <bits/stdc++.h>
using namespace std;

class Solution
{
public:
    int longestPalindrome(string s)
    {
        unordered_map<char, int> count;
        for (auto &&c : s)
        {
            ++count[c];
        }
        int res = 0;
        for (auto &&p : count)
        {
            res += (p.second / 2 * 2);
            if (res % 2 == 0 && p.second % 2 != 0)
            {
                res += 1;
            }
        }
        return res;
    }
};

int main()
{

}
// g++ test.cpp --std=c++11 -pedantic -Wall -Wextra