LeetCode-Python-266. テキスト配列


1つの文字列を指定し、その文字列の中で組み合わせを再配置することによって、1つの回文文字列を形成することができるかどうかを判断します.
例1:
  : "code"
  : false

例2:
  : "aab"
  : true

例3:
  : "carerac"
  : true

考え方:
回文シーケンスの特徴は、最大1つの要素が奇数回しか現れず、他の要素は偶数回しか現れないことです.
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