# Counter方法
class Solution:
def canPermutePalindrome(self, s: str) -> bool:
s_list = []
for key, val in Counter(s).items():
if val % 2 == 1:
s_list.append(key)
return len(s_list) <= 1
方法二:一刀流
思路:思路和上面一致,不再赘述
# 一刀流
class Solution:
def canPermutePalindrome(self, s: str) -> bool:
return len([key for key, val in Counter(s).items() if val % 2 == 1]) <= 1
# 哈希表
class Solution:
def canPermutePalindrome(self, s: str) -> bool:
s_dict = {}
for i in s:
if i not in s_dict:
s_dict[i] = 1
else:
s_dict[i] += 1
s_odd = 0
for key in s_dict:
if s_dict[key] % 2 == 1:
s_odd += 1
return s_odd <= 1