125. 验证回文串(一般)
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: "A man, a plan, a canal: Panama"
输出: true
示例 2:
输入: "race a car"
输出: false
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/valid-palindrome
思路:
双指针
代码:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| class Solution { public boolean isPalindrome(String s) { if(s.length()==0){ return true; } int low = 0,high = s.length()-1; while (low<high){ if(!Character.isLetterOrDigit(s.charAt(low))){ low++; }else if(!Character.isLetterOrDigit(s.charAt(high))){ high--; }else{ if(Character.toLowerCase(s.charAt(low))!=Character.toLowerCase(s.charAt(high))){ return false; } low++; high--; } } return true; } }
|