验证回文串
题目描述:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
问题分析:
灵活使用 字符串方法 和 StringBuilder 对象方法
1,将字符串转化为小写
s.toLowerCase()
2,获取字符串长度
l = s.length()
3,创建对象
StringBuilder str = new StringBuilder(l);
4,转化成字符数组
s.toCharArray()
5,添加字符
str.append(c)
6,比较字符串相等,字符串反转,字符串 toString()方法
str.toString().equals(str.reverse().toString())
代码展示(已验证):
class Solution {
public boolean isPalindrome(String s)
{
// 第二种方法 将字符串全转化成小写
if(s == null)
return true;
s = s.toLowerCase();
int l = s.length();
StringBuilder str = new StringBuilder(l);
for(char c: s.toCharArray()) {
if((c>='0'&&c<='9')||(c>='a'&&c<='z'))
str.append(c);
}
return str.toString().equals(str.reverse().toString());
}
}
泡泡:
对字符串的操作需要掌握字符串和字符串对象的方法,灵活使用