125. 验证回文串 Java
2019-03-27 14:37
288 查看
给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。
说明:本题中,我们将空字符串定义为有效的回文串。
示例 1:
输入: “A man, a plan, a canal: Panama”
输出: true
示例 2:
输入: “race a car”
输出: false
思路:遇到不是数字和字符的跳过,一个指针从前向后,一个从后向前,对应比较
1 空间换时间
class Solution { public boolean isPalindrome(String s) { String s2 = s.toLowerCase(); //System.out.println(s2); char ch[] = new char[s2.length()]; int count = 0; for(int i=0;i<s2.length();i++) { if(s2.charAt(i)>='a' && s2.charAt(i) <= 'z'|| s2.charAt(i)>='0' && s2.charAt(i) <= '9') { ch[count] = s2.charAt(i); count++; } } for(int start=0,end =count-1;start<end;start++,end--) { if(ch[start] != ch[end]){ return false; } } return true; } }
2 时间换空间 --用到了Character封装的判断字母数字的函数
class Solution { public boolean isPalindrome(String s) { int i = 0, j = s.length() - 1; s = s.toLowerCase(); while(i < j) { if (!Character.isLetterOrDigit(s.charAt(i))) { i++; continue; } if (!Character.isLetterOrDigit(s.charAt(j))) { j--; continue; } if (s.charAt(j) != s.charAt(i)) { return false; } i++; j--; } return true; } }
相关文章推荐
- 验证回文串(java)
- 这个题目让我很迷--验证回文串--Java
- 【LeetCode-面试算法经典-Java实现】【125-Valid Palindrome(回文字验证)】
- Leetcode题库 - 验证回文串(java语言版)
- Java连接SqlServer时的身份验证
- 史上最全Java表单验证封装类
- Java调用WebService接口实现发送手机短信验证码功能
- Java实现邮箱激活验证
- java后端生成图片验证码并转化成base64
- JAVA验证身份证号码
- 【Java系列】(五)java实现简单的窗体和密码验证(传参,事件机制和事件监听)
- Java程序验证日期格式
- java身份证验证工具类
- 正则表达式验证工具类RegexUtils.java
- javaEMail账号验证
- Java在发送HTTP请求时,遇到身份验证无法获取到response内容的解决方法
- java图片验证码包括文字和图片的旋转
- java微信开发-token验证
- Java关于md5+salt盐加密验证
- Java 之 商品条形码的验证