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\$