public bool IsPalindrome(string s)
{
if (string.IsNullOrEmpty(s) || s.Length <= 1)
{
return true;
}
int left = 0, right = s.Length - 1;
while (left < right)
{
if (!char.IsLetterOrDigit(s[left]))
{
++left;
}
else if (!char.IsLetterOrDigit(s[right]))
{
--right;
}
else if (char.ToLower(s[left++]) != char.ToLower(s[right--]))
{
return false;
}
}
return true;
}
No comments:
Post a Comment