【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
};
相关推荐
@我漫长的孤独流浪5 分钟前
计算机系统核心概念与性能优化全解析
算法·计算机外设
如竟没有火炬7 分钟前
接雨水22
数据结构·python·算法·leetcode·散列表
ʚ希希ɞ ྀ15 分钟前
二叉树的锯齿层序遍历
数据结构·算法
一只机电自动化菜鸟32 分钟前
一建机电备考笔记(36) 焊接技术—焊接方法与工艺(含考频+题型)
笔记·学习·职场和发展·生活·学习方法
澈20742 分钟前
二叉搜索树:高效增删查的秘诀
java·开发语言·算法
无敌昊哥战神1 小时前
大模型(LLM)推理优化技术全景总结
python·算法·大模型
平行侠1 小时前
A10 恶劣环境传感器信号仿真与统计检验台
算法
洛水水1 小时前
【力扣100题】34.二叉搜索树中第K小的元素
c++·算法·leetcode
_深海凉_1 小时前
LeetCode热题100-翻转二叉树
算法·leetcode·职场和发展
吃好睡好便好1 小时前
在Matlab中绘制抛物三维曲面图
开发语言·人工智能·学习·算法·matlab·信息可视化