给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama" 输出: true
示例 2:
输入: "race a car" 输出: false
package LeetCode;
import java.util.ArrayList;
import java.util.List;
public class IsPalindromeString {
public boolean isPalindrome(String s) {
if (s.equals("")) {
return true;
}
if (s.length() == 1) {
return true;
}
boolean res = true;
StringBuffer sb = new StringBuffer();
for (int i = 0; i < s.length(); i++) {
char si = s.charAt(i);
if (si >= 65 && si <= 90) {
sb.append((char) (si + 32));
} else if ((si >= 97 && si <= 122) || (si >= '0' && si <= '9')) {
sb.append(si);
} else {
continue;
}
}
String rss=sb.toString();
//字符串的翻转方法reverse()
String rds=sb.reverse().toString();
res = rss.equals(rds);
return res;
}
public static void main(String[] args) {
IsPalindromeString i = new IsPalindromeString();
System.out.println(i.isPalindrome("0P"));
}
}