DailyChallenge
125. 验证回文串
Easy20200619
Description
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
链接:leetcode-cn.com/problems/va…
Solution
双指针+利用好Character这个类。
class Solution {
public boolean isPalindrome(String s) {
int left = 0, right = s.length()-1;
while(left < right){
while(!Character.isLetterOrDigit(s.charAt(left)) && left < right){
left++;
}
while(!Character.isLetterOrDigit(s.charAt(right)) && right > left){
right--;
}
// System.out.println("left:"+s.charAt(left)+ "right:"+s.charAt(right));
if(!(Character.toLowerCase(s.charAt(left)) == Character.toLowerCase(s.charAt(right)))){
return false;
}
left++;
right--;
}
return true;
}
}
参考官方题解
❝我的公众号:GitKid
暂时每日分享LeetCode,我在不断学习的过程中,公众号也在不断充实,欢迎大家扫码关注。
TODO:《剑指offer》系列
本文使用 mdnice 排版