I had an interview yesterday where I had to write an algorithm on the whiteboard for working out if a value is a Palindrome in C#. The pressure got to me a bit but I've written my version of it in Visual Studio this evening.
private bool Ispalindrome(string args)
{
var index = 0;
var reverseArray = args.ToCharArray();
do
{
if(index == args.Length)
return true;
index++;
var startingChars = args.Substring(0, index);
var stringbuilder = new StringBuilder();
for (var i = 0; i < index; i++)
{
stringbuilder.Append(reverseArray[reverseArray.Length-i-1]);
}
if (startingChars != stringbuilder.ToString())
_isPalindrone = false;
} while (_isPalindrone);
return _isPalindrone;
}
Doe anyone have any recommendations on how to make this more efficient?