Palindrome Permutation
class Solution(object):
def canPermutePalindrome(self, s):
"""
:type s: str
:rtype: bool
"""
if not s:
return False
dict = {}
for idx, elem in enumerate(s):
if elem not in dict:
dict[elem] = 1
else:
dict[elem] += 1
if len(s) % 2 == 0: # even length string
for elem, cnt in dict.iteritems():
if cnt % 2 != 0:
return False
else: # odd length string; will allow only one char to be odd
cntOddElem = 0
for elem, cnt in dict.iteritems():
if cnt % 2 != 0:
cntOddElem += 1
if cntOddElem > 1:
return False
return TrueLast updated