【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;
    }
}
相关推荐
ShiinaMashirol4 小时前
代码随想录打卡|Day27(合并区间、单调递增的数字、监控二叉树)
java·算法
wuqingshun3141596 小时前
蓝桥杯 5. 交换瓶子
数据结构·c++·算法·职场和发展·蓝桥杯
Demons_kirit7 小时前
Leetcode 2845 题解
算法·leetcode·职场和发展
adam_life7 小时前
http://noi.openjudge.cn/——2.5基本算法之搜索——200:Solitaire
算法·宽搜·布局唯一码
我想进大厂8 小时前
图论---朴素Prim(稠密图)
数据结构·c++·算法·图论
我想进大厂8 小时前
图论---Bellman-Ford算法
数据结构·c++·算法·图论
AIGC大时代8 小时前
高效使用DeepSeek对“情境+ 对象 +问题“型课题进行开题!
数据库·人工智能·算法·aigc·智能写作·deepseek
CODE_RabbitV9 小时前
【深度强化学习 DRL 快速实践】近端策略优化 (PPO)
算法
宝耶9 小时前
面试常问问题:Java基础篇
java·面试·职场和发展
Wendy_robot9 小时前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode