力扣练习之验证回文串

我爱海鲸 2022-08-12 14:41:57 初级算法

简介初级算法、字符串

原题出处:https://leetcode.cn/leetbook/read/top-interview-questions-easy/xn5z8r/

解法一:

public boolean isPalindrome(String s) {
           if (s == null || s.trim().isEmpty()) {
            return true;
        }
        s = s.toLowerCase();
        for (int i =0 , j = s.length() -1 ; i < j ; i++,j--) {
            while (i < j && !Character.isLetterOrDigit(s.charAt(i))) {
                i++;
            }
            while (i < j && !Character.isLetterOrDigit(s.charAt(j))) {
                j--;
            }
            if (s.charAt(i) != s.charAt(j)) {
                return false;
            }
        }
        return true;
    }

思路:将字符串全部转换小写字母,然后从前和从后获取每一字符比较是否相等,如果不相等,则表示这是不是一个回文串,返回false,否则是回文串,返回true,再比较的过程中需要校验当前的字符是否为字母或者数字,如果不是,则移动索引下标

你好:我的2025