这里写自定义目录标题
- 2023-8-24 09:31:12
125. 验证回文串
2023-8-24 09:31:12
最关键的是 注意 题目中的 “字母和数字都属于字母数字字符。”
使用ascii码进行判断就行了
class Solution {public boolean isPalindrome(String s) {int p = 0, q = s.length() - 1;while (p <= q){char a = s.charAt(p);char b = s.charAt(q);boolean check_a_small = a >= 97 && a <= 122;boolean check_a_big = a >= 65 && a <= 90;boolean check_a_num = a >= 48 && a <= 57;boolean check_b_small = b >= 97 && b <= 122;boolean check_b_big = b >= 65 && b <= 90;boolean check_b_num = b >= 48 && b <= 57;// 找到往后找到 字母 或者 是数字if(!(check_a_small || check_a_big || check_a_num)){p++;continue;}// 找到往前找到 字母 或者 是数字if(!(check_b_small || check_b_big || check_b_num)){q--;continue;}// 如果是大写字母,转化为小写if(check_a_big){a = (char)(a+32);}// 如果是大写字母,转化为小写if(check_b_big){b = (char)(b+32);}// 如果是不相等的,就不会回文串,直接返回 falseif(a != b) return false;p++;q--;}return true;}
}