266.回文排列
给定一个字符串,判断该字符串中是否可以通过重新排列组合,形成一个回文字符串。
class Solution(object):
def canPermutePalindrome(self, s: str) -> bool:
dic = {}
for c in s:
if dic.get(c) is None:
dic[c] = 1
else:
dic[c] += 1
count = 0
for num in dic.values(): # values() 函数以列表返回字典中的所有值。
if num % 2 == 0:
continue
else:
count += 1
if count > 1:
return False
return True
# 回文序列的特点是,最多只有一个元素出现了奇数次,其他元素都只能出现偶数次。
# 统计字符的数量,奇数个的只能有0个或1个。
# 所以用个字典统计各个字符出现的频次,然后再统计频次为奇数的个数。