LeetCode(力扣):验证回文串

java 复制代码
class Solution {
    public boolean isPalindrome(String s) {
        //定义开头结尾指针
        int left = 0;
        int right = s.length() -1;
        //只要两指针没相遇就继续
        while(left < right){
            //遇到空格和标点符号直接跳过
            //这里需要额外再加left < right条件,防止全是标点符号导致越界
            while(left < right && !Character.isLetterOrDigit(s.charAt(left))){
                left++;
            }
            while(left <right && !Character.isLetterOrDigit(s.charAt(right))){
                right--;
            }
            //统一将大写转换成小写
            if(Character.toLowerCase(s.charAt(left)) != Character.toLowerCase(s.charAt(right))){
                return false;
            }
            left++;
            right--;
        }
        return true;
    }
}

Character.isLetterOrDigit(char ch):

判断字符是否为字母或数字

Character.toLowerCase(char ch):

大写变小写,已经是小写或者数字的原样返回

相关推荐
AI服务老曹16 小时前
视觉算法模型管理性能优化指南:多版本平滑升级、灰度与快速回滚实战
算法·性能优化
l12586516 小时前
# RAG重排序实战:硅基流动bge-reranker-v2-m3在线API vs 本地CrossEncoder,一篇讲透两种方案
数据库·人工智能·python·深度学习·算法·机器学习·langchain
创世宇图17 小时前
【AI量化交易实战】第06讲:小雅再升级——Talib指标库与K线形态量化
算法
机器学习之心17 小时前
CPO-SVR:用冠豪猪优化算法给支持向量回归机“自动调参“,一次预测多个指标
算法·回归·cpo-svr
Super 含17 小时前
Android 启动优化(三):Perfetto 实战——启动时间到底花在哪里?
jvm·算法
地平线开发者18 小时前
征程6|YOLOv5x 在 Horizon J6 平台的完整部署实战(上)
算法
青 春 记 忆18 小时前
LeetCode 104. 二叉树的最大深度|Python 解法详解
python·算法·leetcode
watersink18 小时前
机器学习关联分析
人工智能·算法·机器学习
牛油果子哥q18 小时前
C++STL算法超全精讲:排序/查找/去重/遍历/最值/合并全套API、仿函数、Lambda适配、实战避坑
开发语言·c++·算法
AI服务老曹18 小时前
摄像机安装AI视频分析完整流程:从现场物理安装、硬解配置到算法POC效果验证
人工智能·算法·音视频