[LeetCode]Valid Palindrome
来源:互联网 发布:厦门房叔快修网络 编辑:程序博客网 时间:2024/05/29 19:38
Given a string, determine if it is a palindrome, considering only alphanumeric characters and ignoring cases.
For example,"A man, a plan, a canal: Panama"
is a palindrome."race a car"
is not a palindrome.
Note:
Have you consider that the string might be empty? This is a good question to ask during an interview.
For the purpose of this problem, we define empty string as valid palindrome.
双指针,一个从左往右,一个从右往左,相遇比较public class Solution {public boolean isPalindrome(String s) {String str = s.toLowerCase();StringBuilder sb = new StringBuilder();StringBuilder rev = new StringBuilder();int i=0,j=s.length()-1;while(i<=j){while(i<j&&!(('a'<=str.charAt(i)&&str.charAt(i)<='z')||('0'<=str.charAt(i)&&str.charAt(i)<='9'))){i++;}while(i<j&&!(('a'<=str.charAt(j)&&str.charAt(j)<='z')||('0'<=str.charAt(j)&&str.charAt(j)<='9'))){j--;}sb.append(str.charAt(i));rev.append(str.charAt(j));i++;j--;}if(sb.toString().equals(rev.toString())){return true;}return false;}}
正常遍历,提取有用的字符串,反序然后做比较。
public class Solution {public boolean isPalindrome(String s) {String str = s.toLowerCase();StringBuilder sb = new StringBuilder();StringBuilder rev = new StringBuilder();for(int i=0;i<str.length();i++){char c = str.charAt(i);if(('a'<=c&&c<='z')||('0'<=c&&c<='9')){sb.append(c);}}for(int i=sb.length()-1;i>=0;i--){rev.append(sb.charAt(i));}if(sb.toString().equals(rev.toString())){return true;}return false;}}
0 0
- [Leetcode] Valid Palindrome
- Leetcode: Valid Palindrome
- leetcode 55: Valid Palindrome
- [LeetCode] Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode - Valid Palindrome
- [leetcode]Valid Palindrome
- [LeetCode]Valid Palindrome
- [Leetcode]Valid Palindrome
- LeetCode-Valid Palindrome
- [leetcode] Valid Palindrome
- LeetCode 125: Valid Palindrome
- LeetCode - Valid Palindrome
- leetcode之Valid Palindrome
- LeetCode | Valid Palindrome
- [leetcode]Valid Palindrome
- 【leetcode】Valid Palindrome
- LeetCode题解:Valid Palindrome
- url记录
- Android Fragment应用实战
- Android环境——搭建Android Studio和Genymotion的开发环境
- 黑马程序员——(一)java概述
- Java自动装箱
- [LeetCode]Valid Palindrome
- Caused by:java.sql.BatchUpdateException:ORA-02291
- 丫丫说
- HDOJ 5135 Little Zu Chongzhi's Triangles
- 编译原理结构框架9运行时的存储组织
- linux sort 命令详解
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- Android中的xml或者drawable下面的资源无法在R.java中生成id的问题--2014年12月3日
- HDOJ 5130 Signal Interference