':type s: str
:rtype: List[str]'

def generatePalindromes(self, s):

    cnt = collections.Counter(s)
    mid = ''.join((k for (k, v) in cnt.iteritems() if (v % 2)))
    chars = ''.join(((k * (v / 2)) for (k, v) in cnt.iteritems()))
    return (self.permuteUnique(mid, chars) if (len(mid) < 2) else [])
