给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true
示例 2:
输入: "race a car" 输出: false
public class Solution {
public bool IsPalindrome(string s) {
s = s.ToLower();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.Length; i++)
{
char val = s[i];
if (char.IsLetterOrDigit(val))
{
sb.Append(val);
}
}
string str = sb.ToString();
for (int i = 0; i < str.Length / 2; i++)
{
char start = str[i];
char end = str[str.Length - 1 - i];
if (start != end)
{
return false;
}
}
return true;
}
}
原文:https://www.cnblogs.com/fuxuyang/p/14242683.html