Given a string, determine if a permutation of the string could form a palindrome.
For example,
“code” -> False, “aab” -> True, “carerac” -> True.
解法1:DP with O(N) time, N = number of characters
Palindrome分为even和odd两种情况,在even的时候,一定是每一个字母都出现偶数次。在odd的时候,有且仅有一个字母可出现奇数次。那么就可以统计每一个字母出现的次数,如果出现奇数次的字母的个数大于1,那么一定不能组成一个Palindrome,反之则可以。统计的时候需要一个HashMap来记录每一个字母的个数。
C++
Java