Given a string, write a function to check if it is a permutation of a palin drome. A palindrome is a word or phrase that is the same forwards and backwards. A permutation is a rearrangement of letters. The palindrome does not need to be limited to just dictionary words.
We use a hash table $cnt$ to store the occurrence count of each character. If more than $1$ character has an odd count, then it is not a palindrome permutation.
The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the string.
We use a hash table $vis$ to store whether each character has appeared. If it has appeared, we remove the character from the hash table; otherwise, we add the character to the hash table.
Finally, we check whether the number of characters in the hash table is less than $2$. If it is, then it is a palindrome permutation.
The time complexity is $O(n)$, and the space complexity is $O(n)$. Here, $n$ is the length of the string.