Leetcode: Valid Palindrome

来源:互联网 发布:哪款男生面膜知乎 编辑:程序博客网 时间:2024/06/01 10:25

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) {            return true;        }                s=s.toLowerCase();        int left = 0;        int right = s.length() - 1;        while (left < right) {            while (left < right && !isValid(s.charAt(left))) {                left++;            }            while (left < right && !isValid(s.charAt(right))) {                right--;            }            if (s.charAt(left) != s.charAt(right)) {                return false;            }            left++;            right--;        }                return true;    }        private boolean isValid(char a) {        if ((a >= 'a' && a <= 'z') || (a >= '0' && a <= '9')) {            return true;        } else {            return false;        }    }}


0 0
原创粉丝点击