PROBLEM LINK:
Author: Chandan Boruah
Tester: Chandan Boruah
Editorialist: Chandan Boruah
DIFFICULTY:
SIMPLE
PREREQUISITES:
Linked List (for author’s solution)
PROBLEM:
Given a word find if you can rearrange the words to form a palindrome.
QUICK EXPLANATION:
Add to linked list and remove from linked as you get same letter in the word, alternatively. In the end if only 1 or 0 letters are left, then it can be a palindrome.
EXPLANATION:
Everytime a letter appears twice it can be eliminated since it can be rearranged into the palindrome. So add to linked list if a new letter is found if its found again remove both. If in the end 1 or 0 letters are left then it can be a palindrome.
AUTHOR’S C# SOLUTIONS:
using System;
using System.Collections.Generic;
class some
{
public static void Main()
{
string s=Console.ReadLine();
List<char>cc=new List<char>();
for(int i=0;i<s.Length;i++)
{
if(cc.Contains(s[i]))
{
cc.Remove(s[i]);
}
else
{
cc.Add(s[i]);
}
}
if(cc.Count<=1)Console.WriteLine(1);
else Console.WriteLine(0);
}
}