【LeetCode】125.Valid Palindrome

来源:互联网 发布:达内 测计网络营 编辑:程序博客网 时间:2024/05/16 18:23

题目:

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) {if(s == null || s.length() == 0)return true;char[] ac = s.toLowerCase().toCharArray();int i=0,j=ac.length-1;while(i<j){if(!isAlphaNumberic(ac[i])){i++;continue;}if(!isAlphaNumberic(ac[j])){j--;continue;}if(ac[i] != ac[j])return false;i++;j--;}return true;}public boolean isAlphaNumberic(char c){return Character.isAlphabetic(c) || Character.isDigit(c);}}


0 0
原创粉丝点击