LeetCode-409. 最长回文串

一、题目

LeetCode-409. 最长回文串

二、思路

1、利用哈希容器储存字符串以及他们出现的次数
2、如果次数为偶数,则直接累加
3、如果次数为奇数,则减去1再累加
4、最后返回所有累加和+1,并注意如果没有奇数则不需要额外+1

三、代码

class Solution {
public:
    int longestPalindrome(string s) {
        unordered_map<char,int>dic;
        for(int i=0;i<s.length();++i)
        {
            dic[s[i]]++;
        }
        int Count=0;
        int pos=0;
        for(auto iter=dic.begin();iter!=dic.end();++iter)
        {
            if(iter->second%2==0)
            {
                Count+=iter->second;
            }
            else
            {
                pos=1;
                Count+=iter->second-1;
            }
        }
        if(pos==1)
        {
            return Count+1;
        }
        else
        {
            return Count;
        }
        return Count;
    }
};
上一篇:python 字典超详细小结


下一篇:Python 字典翻转输出