leetcode | Valid Palindrome

来源:互联网 发布:lol骚男的淘宝店网址 编辑:程序博客网 时间:2024/05/16 13:02

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) {                        int len = s.length();        if(len <= 1)return true;          int begin = 0;        int end = len-1;        while(begin<end)        {            while(begin<end&&!isChar(s.charAt(begin)))                begin++;            while(begin<end&&!isChar(s.charAt(end)))                end--;                        if(toLowerCase(s.charAt(begin++))!=toLowerCase(s.charAt(end--)))                return false;        }        return true;    }        public boolean isChar(char ch)    {        if(ch>='a'&&ch<='z')                return true;        else if(ch>='0'&& ch<='9')              return true;        else if(ch>='A'&& ch<='Z')          {            return true;        }        else            return false;    }        public char toLowerCase(char ch)    {                if(ch>='A'&& ch<='Z')          {            return (char)(ch+32);        }        else            return ch;                        }                }


0 0
原创粉丝点击