【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;
    }
}
相关推荐
倒头就睡的小比特2 天前
算法竞赛C++常用的STL
c++·算法
小羊没烦恼!2 天前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
猎头南楼2 天前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
旖旎夜光2 天前
力控面试题 01.01: 判定字符是否唯一(位运算) —— 题解
c++·学习·算法·leetcode·力控
wzdark2 天前
大规模并行计算中的负载均衡算法研究4
算法
Because_of_Her12 天前
并查集-听课笔记
笔记·算法·并查集
码流子2 天前
高速公路安全监测实践:碰撞监测预警+物联网底座,从感知到处置的闭环
大数据·人工智能·物联网·算法·架构
another heaven2 天前
【算法/C++ MD5算法能否逆解码?原理、C++实现与同类哈希算法对比】
c++·算法·哈希算法
wzdark2 天前
从算法设计模式看编程思维的抽象能力4
算法
2601_962218612 天前
万象生鲜系统称重自动多退少补算法解决生鲜非标品痛点
大数据·数据库·人工智能·python·算法