Я пытаюсь написать код Python для решения проблемы: выполните приведенную ниже функцию gameOfThrones, чтобы определить, можно ли переставить данную строку в палиндром. Если это возможно, верните YES, в противном случае верните NO.
Мой лог c таков, что если входная строка имеет четную длину, то все количество символов в строке должно быть четным. Однако, если строка имеет нечетную длину, все символы должны иметь четное количество символов, кроме одного символа, имеющего нечетное число.
Код, который я написал ниже:
def gameOfThrones(s):
d = {}
s = sorted(s)
count = 0
for i in s:
if i not in d:
d[i] = 1
else:
d[i] += 1
if len(s) % 2 == 0:
for v in d.values():
if v % 2 != 0:
print("NO")
else:
print("YES")
else:
for v in d.values():
if v % 2 == 1:
count += 1
if count > 1:
print("NO")
elif count == 1:
print("YES")
Я не уверен, где я ошибся. Код, кажется, имеет смысл для меня. Пожалуйста, помогите, спасибо заранее.