0
点赞
收藏
分享

微信扫一扫

最长回文字符串

南陵王梁枫 2022-05-04 阅读 58

思路:

计算字符串中每个字符串出现的频率,如果出现的次数为偶数,则全部用来做回文串,如果出现的次数为奇数且大于1,取偶数个作为回文串,如果出现1次,那么作为最中间的值。

重点:collections.Counter(),用以计算每个字符串中字符出现的频率

class Solution:
    def longestPalindrome(self, s: str) -> int:
        ans=0
        count=collections.Counter(s)
        for value in count.values():
            ans+=value//2*2
            if ans%2==0 and value%2==1:
                ans+=1
        return ans

举报

相关推荐

0 条评论