LeetCode—125. Valid Palindrome

LeetCode—125. Valid Palindrome

题目

https://leetcode.com/problems/valid-palindrome/description/
判断字符串是不是回文。只考虑文字和数字,不考虑标点等。空字符认为是回文。
在这里插入图片描述

思路及解法

这道题思路和方法不难。只是会学到Java中字符串常用的接口,比如toLowerCase()转小写,isLetterOrDigit()判断是否是文字和数字。

代码

class Solution {
    public boolean isPalindrome(String s) {
        if(s==null || s.length()==1) return true;
        s = s.toLowerCase();
        int left=0, right=s.length()-1;
        while(left<right){
            while(!Character.isLetterOrDigit(s.charAt(left))&&left<right){
                left++;
            }
            while(!Character.isLetterOrDigit(s.charAt(right))&&left<right){
                right--;
            }
            if(s.charAt(left)==s.charAt(right)){
                left++;
                right--;
            }else{
                return false;
            }
        }
        return true;
    }
}

猜你喜欢

转载自blog.csdn.net/pnnngchg/article/details/82945505