Longest Palindrome LeetCode solution in Python

1
class Solution:
2
def longestPalindrome(self, s: str) -> int:
3
letters = {}
4
for letter in s: # count each letter and update letters dict
5
if letter in letters:
6
letters[letter] += 1
7
else:
8
letters[letter] = 1
9

10
plus1 = 0 # if there is a letter with count of odd ans must +=1
11
ans = 0
12
for n in letters.values():
13
if n == 1: # 1 can only appear in the middle of our word
14
plus1 = 1
15
elif n % 2 == 0:
16
ans += n
17
else:
18
ans += n - 1
19
plus1 = 1
20

21
return ans + plus1

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0