LeetCode每日一题之验证回文数
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
知识点引入之string、stringBuilder、stringBuffer的区别
https://blog.csdn.net/weixin_56512682/article/details/121159174
思路
第一个方法,使用StringBuffer(),调用stringBuffer的append()方法,实现结果
第二个方法,将字符串切片(split()方法)后存入数组,然后读取最后一位的长度
方法一:(使用java字符串拥有的charAt()方法,依次读取每个元素)
class Solution {
public boolean isPalindrome(String s) {
StringBuffer stringBuffer = new StringBuffer();
for ( int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (Character.isLetter(c)||Character.isDigit(c)) {
//Character.isLetter()方法要求传入的是字符类型(char)
stringBuffer.append(Character.toLowerCase(c));
//toLowerCase() 返回字符的小写形式
}
}
//定义拼接后的字符串
String string = stringBuffer.toString();
//反转字符串
String revString = stringBuffer.reverse().toString();
//比较原字符串与反转字符串
return string.equals(revString);
}
}
//两个循环都结束了,还是没返回值,则说明needle字符串中本就不存在包含关系,那就返回一个-1
}
}
方法二:(将其切片后存入字符数组,然后读取即可)
class Solution {
public int lengthOfLastWord(String s) {
String []str= s.split(" ");
//按照‘ ’作为切片标准,将一连串字符串录入到字符数组中去
return str[str.length-1].length();
//返回数组中最后一个位置的字符串的长度即可
}
}