【LeetCode】125. 验证回文串 - 双指针

这里写自定义目录标题

  • [2023-8-24 09:31:12](#2023-8-24 09:31:12)

125. 验证回文串

2023-8-24 09:31:12

最关键的是 注意 题目中的 "字母和数字都属于字母数字字符。"

使用ascii码进行判断就行了

java 复制代码
class Solution {
    public  boolean isPalindrome(String s) {
        int p = 0, q = s.length() - 1;
        while (p <= q){
            char a = s.charAt(p);
            char b = s.charAt(q);
            boolean check_a_small = a >= 97 && a <= 122;
            boolean check_a_big = a >= 65 && a <= 90;
            boolean check_a_num = a >= 48 && a <= 57;

            boolean check_b_small = b >= 97 && b <= 122;
            boolean check_b_big = b >= 65 && b <= 90;
            boolean check_b_num = b >= 48 && b <= 57;
            // 找到往后找到  字母 或者 是数字
            if(!(check_a_small || check_a_big || check_a_num)){
                p++;
                continue;
            }
            // 找到往前找到  字母 或者 是数字
            if(!(check_b_small || check_b_big || check_b_num)){
                q--;
                continue;
            }
            // 如果是大写字母,转化为小写
            if(check_a_big){
                a = (char)(a+32);
            }
            // 如果是大写字母,转化为小写
            if(check_b_big){
                b = (char)(b+32);
            }
            // 如果是不相等的,就不会回文串,直接返回 false
            if(a != b) return false;
            p++;
            q--;
        }
        return true;
    }
}
相关推荐
AI软著研究员40 分钟前
程序员必看:软著不是“面子工程”,是代码的“法律保险”
算法
FunnySaltyFish1 小时前
什么?Compose 把 GapBuffer 换成了 LinkBuffer?
算法·kotlin·android jetpack
颜酱2 小时前
理解二叉树最近公共祖先(LCA):从基础到变种解析
javascript·后端·算法
地平线开发者18 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮18 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者19 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考19 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx1 天前
CART决策树基本原理
算法·机器学习
Wect1 天前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱1 天前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法