LeetCode 125 requires receiving a string and checking if it is a valid palindrome. I have done this and am confident with an int and a single word, but this question requires the use a of a sentence with non-alphanumeric characters. The function must ignore non-alphanumeric characters and whitespaces.
public bool isPalindrome(string s) {
s = System.Text.RegularExpressions.Regex.Replace(s, @"\W|_", "");
if (s == null || s == "" || s.Length == 1 || s == " ")
{
return true;
}
for (int i = 0, j = s.Length - 1; i <= s.Length / 2 && j >= s.Length /2;i--,j++)
{
if (Char.ToLower(s[i]) == Char.ToLower(s[j]))
{
continue;
}
return false;
}
return true;
}
It is my first time ever using Regex, maybe that gives my function a performance hit? Would it be better if I could implement this without Regex?
Example inputs are: "a man, a plan, a canal: Panama" -- returns true, "race a car" -- returns false, "a man, a plan, a canal -- Panama" -- returns true. The stats on this are: Runtime 136 ms, faster than 11.75% of c# submissions.

i--,j++. I'd start with.Replace(s, @"[\W_]+", "").ToLower();but I've never written C# \$\endgroup\$