【LeetCode 0125】【双指针】有效回文

https://leetcode.com/problems/valid-palindrome/

题解
  • 双指针:左指针右移过程时跳过非法字符,右指针左移时跳过非法字符。 如果左指针大于等于右指针,表示有效回文;如果两指针所对应的字符如果不等,则不是有效回文。
javascript 复制代码
var isPalindrome = function(s) {
    
    const isAlphaOrNumeric = (c)=> (c >= 'a' && c <='z') || (c >= '0' && c<='9');
    s = s.toLowerCase();
    let [left,right] = [0,s.length-1]
    while( left < right ) {
		// 跳过非法字符
        while(left < right && !isAlphaOrNumeric(s[left]))left ++
        while(right > left && !isAlphaOrNumeric(s[right]) )right --		// 如果左指针等于右指针,表示有效回文
        if( left == right ) {
            return true
        }
        // 如果左指针对应字符 不等于 右指针对应字符,表示无效回文
        if(s[left] != s[right]){
            return false
        }
        left ++;
        right --;
    }
    return true
};
相关推荐
WL_Aurora3 小时前
【每日一题】二分算法
python·算法
昵称小白3 小时前
子串专题部分
数据结构·算法·哈希算法
H_BB3 小时前
第17届蓝桥杯备战历程
c++·算法·职场和发展·蓝桥杯
anew___3 小时前
算法分析与设计课程全算法核心概述|期末复习+知识梳理
算法
daad7773 小时前
记录一次上下文切换次数的统计
服务器·c++·算法
fliter3 小时前
Cloudflare 推出 Flagship:为 AI 时代重新设计的功能开关服务
后端·算法
生成论实验室3 小时前
《源·觉·知·行·事·物:生成论视域下的统一认知语法》第十七章 科学与人心的重聚
人工智能·算法·架构·知识图谱·创业创新
chao1898443 小时前
局部保局投影(LPP)算法实现
算法
ShoreKiten4 小时前
cpp考前急救
数据结构·c++·算法
纪伊路上盛名在4 小时前
机器学习中常见的距离度量函数 Distance metrics
人工智能·算法·机器学习·数据分析·统计