Problem: 125. 验证回文串
文章目录
- 思路
- 复杂度
- Code
思路
👨🏫 参考题解
Character.isLetterorDigit(char c)
:判读字符 c 是否是字母或者数字
Character.toLowerCase(char c)
:将字符 c 转换为小写字母
复杂度
时间复杂度: O ( n ) O(n) O(n)
空间复杂度: O ( 1 ) O(1) O(1)
Code
class Solution {public boolean isPalindrome(String s) {int l = 0;int r = s.length() - 1;while(l < r ){while(l < r && !Character.isLetterOrDigit(s.charAt(l)))//跳过无效字符l++;while(l < r && !Character.isLetterOrDigit(s.charAt(r)))//跳过无效字符r--;if(Character.toLowerCase(s.charAt(l)) != Character.toLowerCase(s.charAt(r)))return false;l++;r--;}return true;}
}