LeetCode-Python-266. 回文排列

给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。

示例 1:

输入:
"code"

输出: false

示例 2:

输入:
"aab"

输出: true

示例 3:

输入:
"carerac"

输出: true

思路:

回文序列的特点是,最多只有一个元素出现了奇数次,其他元素都只能出现偶数次。

    class Solution(object):
        def canPermutePalindrome(self, s):
            """
            :type s: str
            :rtype: bool
            """
            record = dict()
            for i, char in enumerate(s):
                record[char] = record.get(char, 0) + 1
            
            odd_cnt = 0
            for key, val in record.items():
                if val % 2:
                    odd_cnt += 1
                    if odd_cnt > 1:
                        return False
            return True

 
---------------------
作者:家养家养
来源:CSDN
原文:https://blog.csdn.net/qq_32424059/article/details/90372516
版权声明:本文为博主原创文章,转载请附上博文链接!

posted @ 2019-07-06 19:32  天涯海角路  阅读(330)  评论(0)    收藏  举报