题目:
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
解题思路:拿到这个题之后首先就是想到将想要的字母和数字提取出来,组成一个新的字符串,方便自己的接下来的操作,所以用到StringBuffer方法。然后将其字母的大小写统一,用到str1 = str1.toLowerCase();方法。接着就是比较简单的判断了。判断首位对应位置的字符是否相等,不相等直接返回false,相等再接着判断,知道首位相遇,则返回true.
代码实现:
class Solution {
public boolean isPalindrome(String s) {
StringBuffer str = new StringBuffer();
int high1 = s.length();
for(int i = 0;i < high1;i++){
char temp = s.charAt(i);
if( ('a' <= temp &&a