class Solution:
def longestPalindrome(self, s: str) -> int:
if not s:
return 0
dic = {}
for i in s:
if i in dic:
dic[i] += 1
else:
dic[i] = 1
countA = 0
countB = 0
# 记录中心点左右对称的字符个数
for j in dic:
if dic[j] % 2 == 0:
countA += dic[j] # 偶数字符个数
else:
countB += dic[j]-1 # 奇数字符个数减去1个中心点
# 有奇数个字符
if countA+countB<len(s):
return countA+countB+1
# 全为偶数个字符
else:
return countA