125、验证回文串
2020-03-05 08:53
162 查看
验证回文串
题目描述
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: “A man, a plan, a canal: Panama”
输出: true
示例 2:
输入: “race a car”
输出: false
思路分析
先将字符串转化成小写字符串,再通过双指针遍历,遍历过程中若不是数字或者字母直接略过。若遍历时两数不等则返回true。需要考虑字符串中不包含数字字母的情况。代码如下:
public boolean isPalindrome(String s) { if (s==null||s.length()==0)return true; String str=s.toLowerCase(); int left=0,right=str.length()-1,count=0; while (left<right){ while (left<=right&&!judge(str.charAt(left)))left++; while (right>=left&&!judge(str.charAt(right)))right--; if (left>=right)break; if (left<right){ if (str.charAt(left)==str.charAt(right)){ left++; right--; count++; }else { return false; } }else { return count==0; } } return true; } public boolean judge(char c){ return (c>='0'&&c<='9')||(c>='a'&&c<='z'); }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- leetcode 125 验证回文串
- 125. 验证回文串
- LeetCode125-验证回文串
- leetcode-125-验证回文串
- leetcode-125-验证回文串
- 125. 验证回文串
- 125. 验证回文串 Java
- 验证回文串(java)
- 这个题目让我很迷--验证回文串--Java
- 验证回文串
- 验证回文串
- Lettcode_125_Valid Palindrome ——判断字符串是否为回文串
- LeetCode 125. 验证回文串
- Python LeetCode(125.验证回文串)
- Leetcode 125. 验证回文串
- LeetCode 125. 验证回文串
- Leetcode题库 - 验证回文串(java语言版)
- Leetcode刷题28-125.验证回文串(C++)
- 验证回文串--leetcode第125题
- [LeetCode 125] - 验证回文(Valid Palindrome)