266 Palindromic Permutation
#include <iostream>
#include <unordered_map>
using namespace std;
bool palindromic(string word)
{
unordered_map <char, int> wordCount;
for (auto i : word) ++wordCount[i];
if (word.size() - 1 % 2 == 0) // even
{
for (auto &i : wordCount)
{
if (i.second == 2) continue;
else return false;
}
return true;
}
else // odd
{
int count = 0;
for (auto &i : wordCount)
{
if (i.second == 2) continue;
else if (i.second == 1) count++;
if (count > 1) return false;
}
return true;
}
}
int main()
{
cout << palindromic("aabbccddeefghf");
}Last updated