验证回文串

解题思路:
双指针法。主要注意把字母全换成一种格式再比较,并且可能是符号的时候要跳过。
代码:
public bool IsPalindrome(string s)
{
s=s.ToLower().Replace(" ", "");//要区分大小写,所以将其全部转换为小写字母,再将s中所有空格去掉。
int left = 0;
int right = s.Length-1;
while(left<right)
{
while (s[left] > 'z' || s[left] < 'a' && s[left] > '9' || s[left] < '0'&&left<right)
left++;
while (s[right] > 'z' || s[right] < 'a' && s[right] > '9' || s[right] < '0'&&right>left)
right--;//当字符不是字母也不是符号的时候跳过。
if (s[left] != s[right])
return false;
left++;
right--;
}
return true;//只要能出来一定是回文。
}

本文详细介绍了一种使用双指针法验证字符串是否为回文的算法。通过将字符串统一格式并忽略非字母数字字符,算法高效地判断了字符串的回文特性。
1336

被折叠的 条评论
为什么被折叠?



