首页 > 代码库 > Valid Palindrome

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.

 

public class Solution {        /**     * 判断某位是否是alphanumeric (字母or数字)     *      */    public boolean isAlphanumeric(char c){                if(c>=‘a‘&&c<=‘z‘){            return true;        }        if(c>=‘0‘&&c<=‘9‘){            return true;        }        if(c>=‘A‘&&c<=‘Z‘){            return true;        }            return false;    }            public boolean isPalindrome(String s) {        List<String> list1 = new ArrayList<String>();        char[] list2 = s.toCharArray();        int size2 = list2.length;        for(int i=0;i<size2; i++){                        if(isAlphanumeric(list2[i])){                String temp = String.valueOf(list2[i]).toLowerCase();//统一转换成小写字母                list1.add(temp);            }        }                int size1 = list1.size();                if(size1==0){            return true;        }                for(int j=0;j<size1/2;j++){            if(!list1.get(j).equals(list1.get(size1-1-j))){                return false;            }        }        return true;    }}

 

Valid Palindrome