Given a string, if the string can be permuted into a palindrome, print "YES" else print "NO"
Input:
aaabbbb
Output:
YES
Implementation:
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
findPalind(char *arr)
{
int flag = 0;
int i=0;
int hash[26],c=0;
memset(hash,0,sizeof(hash));
while(*(arr+i))
{
hash[*(arr+i)-'a']++;
if(hash[*(arr+i)-'a']==2)
hash[*(arr+i)-'a']=0;
i++;
}
i=0;
while(i<26)
{
if(hash[i]>0)
c++;
if(c>1)
{
flag=1;
break;
}
i++;
}
if (flag==0)
printf("YES\n");
else
printf("NO\n");
return;
}
int main() {
char arr[100001];
scanf("%s",arr);
findPalind(arr);
return 0;
}