Leetcode - 125. Valid Palindrome
Problem statement:
A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers.
Given a string s
, return true
if it is a palindrome, or false
otherwise.
Solution:
Problem says,
- First convert all uppercase letters into lowercase letters.
- Remove all non-alphanumeric characters.
For first part, I will use ToLower() method of string class. this method will convert all the uppercase letters into lowercase letters.
For the second part, I will use Regex Replace method to remove all non-alphanumeric characters.
public bool IsPalindrome(string s)
{
/*here i am checking if string is null or empty if so then it will be always Palindrome so return true*/
if(string.IsNullOrEmpty(s))
return true;
/*in this statement i am first converting the string all uppercase to lowercase letters and then replacing all the non-alphanumeric characters with empty means it will remove that*/
var str=Regex.Replace(s.ToLower(),"[^a-z0-9]","");
int i=0, j=str.Length-1;
for(;i<j;i++,j--)
{
/*in this statement i am comparing the first character to last character if it is not same then returning false*/
if(str[i]!=str[j])
return false;
}
return true;
}
Comments
Post a Comment