【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;
    }
}
相关推荐
HelloDam10 分钟前
基于元素小组的归并排序算法
后端·算法·排序算法
HelloDam10 分钟前
基于连贯性算法的多边形扫描线生成(适用于凸多边形和凹多边形)【原理+java实现】
算法
人人题44 分钟前
汽车加气站操作工考试答题模板
笔记·职场和发展·微信小程序·汽车·创业创新·学习方法·业界资讯
uhakadotcom1 小时前
Apache Airflow入门指南:数据管道的强大工具
算法·面试·github
跳跳糖炒酸奶2 小时前
第四章、Isaacsim在GUI中构建机器人(2):组装一个简单的机器人
人工智能·python·算法·ubuntu·机器人
绵绵细雨中的乡音2 小时前
动态规划-第六篇
算法·动态规划
程序员黄同学2 小时前
动态规划,如何应用动态规划解决实际问题?
算法·动态规划
march_birds2 小时前
FreeRTOS 与 RT-Thread 事件组对比分析
c语言·单片机·算法·系统架构
斯汤雷3 小时前
Matlab绘图案例,设置图片大小,坐标轴比例为黄金比
数据库·人工智能·算法·matlab·信息可视化
云 无 心 以 出 岫3 小时前
贪心算法QwQ
数据结构·c++·算法·贪心算法