首页 > 代码库 > [Leetcode] Valid Palindrome

[Leetcode] Valid Palindrome

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.

Solution:

public class Solution {    public boolean isPalindrome(String s) {        s=s.toLowerCase();        for(int i=0,j=s.length()-1;i<j;++i,--j){            while(i<j&&!isValid(s.charAt(i)))                i++;            while(i<j&&!isValid(s.charAt(j)))                j--;            if(s.charAt(i)!=s.charAt(j))                return false;        }        return true;    }    private boolean isValid(char c) {        // TODO Auto-generated method stub        if(c>=‘a‘&&c<=‘z‘)            return true;        if(c>=‘0‘&&c<=‘9‘)            return true;        return false;    }}

 

[Leetcode] Valid Palindrome