using System.Collections.Generic;
public static void Main()
Console.WriteLine(GetLongestPalindrome("daadrefer"));
Console.WriteLine(GetLongestPalindrome("abcd"));
public static string GetLongestPalindrome(string input)
var inputChars = input.ToCharArray();
var palindromes = new List<string>();
for(int i = 0; i < inputChars.Length; i++)
var letter = inputChars[i];
var index = input.IndexOf(letter, i);
var substring = input.Substring(i, index - i + 1);
char[] charArray = substring.ToCharArray();
Array.Reverse(charArray);
var reversed = new string(charArray);
if (substring == reversed)
palindromes.Add(substring);
index = input.IndexOf(letter, index + 1);
var longest = palindromes[0];
foreach(var palindrome in palindromes)
if (palindrome.Length > longest.Length) longest = palindrome;