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):

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

相关推荐
KaMeidebaby14 分钟前
卡梅德生物技术快报|biotin 生物素标记抗体全流程
前端·人工智能·算法·数据挖掘·数据分析
阳明山水19 分钟前
自下而上 vs 自上而下 vs 最优组合预测策略解析
大数据·人工智能·深度学习·算法·机器学习
keykey6.22 分钟前
从逻辑回归到 SVM:不仅仅是“分开“
算法·机器学习·支持向量机
QN1幻化引擎28 分钟前
RingBuffer:用"循环缓冲区"干掉KV Cache的O(n)显存膨胀
算法·github
sheeta199831 分钟前
LeetCode 每日一题笔记 日期:2026.06.14 题目:2130. 链表最大孪生和
笔记·leetcode·链表
papership39 分钟前
【入门级-算法-8、图论算法:泛洪算法 (Flood Fill)】
算法·图论
MartinYeung539 分钟前
[论文学习]LLM 情境学习资料的快速精确遗忘技术:基于 In-Context Learning 与量化 K-Means 的 ERASE 方法
学习·算法·kmeans
林森lsjs1 小时前
【日耕一题】5. 青春常数(17届蓝桥杯C++B组第一题)
算法·蓝桥杯
Tisfy1 小时前
LeetCode 3838.带权单词映射:求和、取模、拼接(附python一行版)
python·算法·leetcode·字符串·题解·模拟·取模
め.1 小时前
GJK算法实现细节
算法