当前位置:首页 > JavaScript

实现回文js

2026-03-13 19:00:44JavaScript

检查字符串是否为回文

使用 splitreversejoin 方法将字符串反转并与原字符串比较:

function isPalindrome(str) {
  const reversedStr = str.split('').reverse().join('');
  return str === reversedStr;
}

忽略大小写和标点符号

通过正则表达式移除非字母字符并统一转换为小写:

function isPalindrome(str) {
  const cleanedStr = str.replace(/[^a-zA-Z]/g, '').toLowerCase();
  return cleanedStr === cleanedStr.split('').reverse().join('');
}

使用双指针法

通过左右指针向中间移动比较字符:

function isPalindrome(str) {
  let left = 0;
  let right = str.length - 1;
  while (left < right) {
    if (str[left] !== str[right]) return false;
    left++;
    right--;
  }
  return true;
}

递归实现

通过递归比较首尾字符并缩小范围:

function isPalindrome(str) {
  if (str.length <= 1) return true;
  if (str[0] !== str[str.length - 1]) return false;
  return isPalindrome(str.slice(1, -1));
}

处理数字回文

将数字转换为字符串后检查:

实现回文js

function isPalindrome(num) {
  const str = num.toString();
  return str === str.split('').reverse().join('');
}

以上方法覆盖了字符串和数字的回文检测需求,可根据具体场景选择实现方式。双指针法在空间复杂度上更优(O(1)),而正则表达式方法能处理更复杂的输入格式。

标签: 回文js
分享给朋友:

相关文章

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 使用JavaScript实现拖拽功能需要监听鼠标事件,包括mousedown、mousemove和mouseup。以下是实现的基本逻辑: const draggableEleme…

js实现vue

js实现vue

Vue.js 简介 Vue.js 是一个渐进式 JavaScript 框架,用于构建用户界面。其核心库专注于视图层,易于与其他库或现有项目整合。 实现 Vue.js 的基本步骤 安装 Vue.j…

js实现选项卡

js实现选项卡

实现选项卡的基本思路 选项卡通常由一组标签和对应的内容面板组成。点击标签时,显示对应的内容面板,隐藏其他面板。实现这一效果需要结合HTML结构、CSS样式和JavaScript交互逻辑。 HTML结…

js实现祖玛

js实现祖玛

实现祖玛游戏的核心思路 祖玛游戏的核心玩法是发射彩色珠子,形成三个或以上相同颜色的珠子即可消除。以下是使用JavaScript实现的基本框架。 游戏初始化 创建画布并初始化游戏状态: const…

js画图实现

js画图实现

使用Canvas API绘制图形 Canvas是HTML5提供的绘图API,通过JavaScript操作Canvas元素可以绘制各种图形。以下是一个简单的示例: <canvas id="myC…

js实现投球

js实现投球

实现投球动画的基本思路 使用JavaScript和CSS动画结合的方式模拟投球效果。核心是通过改变元素的位置、旋转和缩放属性,配合定时器或CSS过渡实现平滑动画。 创建基础HTML结构 <di…