func IsPalindrome(var string)
{
var pal = isPalindrome(IgnoreSpace(string));
if (pal)
PrintLine('"' + string + '" is a palindrome');
else
PrintLine('"' + string + '" is not a palindrome');
}
func isPalindrome(var string)
{
if (len(string) == 1 || len(string) == 0)
{
psh(true);
}
else if (chr(string, 0) == chr(string, len(string) - 1))
{
if (len(string) == 2)
{
psh(chr(string, 0) == chr(string, 1));
}
else
{
psh(isPalindrome(substring(string, 1, len(string) - 1)));
}
}
else
{
psh(false);
}
}
func substring(var string, var start, var stop)
{
var ret = "";
for (var i = start; i < stop; i = i + 1)
{
ret = ret + chr(string, i);
}
psh(ret);
}
func IgnoreSpace(var string)
{
var ret;
for (var i = 0; i < len(string); i = i+1)
{
var substr = chr(string, i, 1);
if (substr != " ")
ret = ret + substr;
}
psh(ret);
}