mirror of
https://github.com/autistic-symposium/master-algorithms-py.git
synced 2025-04-29 20:26:07 -04:00
23 lines
554 B
Python
23 lines
554 B
Python
"""
|
|
Write an efficient function that checks whether
|
|
any permutation of an input string is a palindrome.
|
|
"""
|
|
|
|
def has_palindrome_permutation(the_string):
|
|
unpaired_characters = set()
|
|
|
|
for char in the_string:
|
|
if char in unpaired_characters:
|
|
unpaired_characters.remove(char)
|
|
else:
|
|
unpaired_characters.add(char)
|
|
|
|
return len(unpaired_characters) <= 1
|
|
|
|
str1 = "civic"
|
|
print has_palindrome_permutation(str1)
|
|
print "Should be True"
|
|
|
|
str2 = "ivilc"
|
|
print has_palindrome_permutation(str2)
|
|
print "Should be False" |