Thursday, September 10, 2020

Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.

         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