【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;
    }
}
相关推荐
靠沿10 分钟前
贪心算法专题(三)
算法·贪心算法
super大力张32 分钟前
MOE基于结构的药物设计(七):Ligand R-Vectors——如何判断配体可以从哪里继续生长?
数据库·算法·cadd·moe·svl·基于结构的药物设计
Tongsr1 小时前
别只混淆代码:用 Kaleido 加固整个 Android Release AAB
前端·算法·github
高亦真1 小时前
今天是学习嵌入式的第34天
linux·学习·算法
飞Link3 小时前
动作方法中的分割与过度分割方法全解析(含代码实战与踩坑案例)
人工智能·python·算法·计算机视觉
张宇Joaquin3 小时前
鲲鹏统一并行加速库KUPL--异步数据拷贝
线性代数·算法·矩阵·numpy
GlobalInfo3 小时前
创新不是追逐热点,是在变化中建立长期竞争力
大数据·算法
lvwangshu3 小时前
线性代数基础 Linear Algebra Basics
数学·算法
ZhouDevin4 小时前
算法论文/数据集5——AlignPrune(CVPR2026)基于样本损失时间序列精确识别噪声样本
算法
十铭忘4 小时前
HMM(隐马尔可夫模型)的理解7——Baum–Welch 算法
人工智能·算法