当前位置:首页 > 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 中实现功能通常涉及多个关键步骤,具体取决于功能需求。以下是常见功能的实现方法和示例: 基本功能实现 使用函数封装逻辑是最直接的方式。例如,实现一个计算两数之和的函数: f…

js实现排序

js实现排序

数组排序方法 JavaScript提供了内置的sort()方法用于数组排序。默认情况下,sort()将元素转换为字符串并按照Unicode码点排序。对于数字排序,需传入比较函数。 const num…

实现图片旋转js

实现图片旋转js

使用CSS transform属性旋转图片 通过CSS的transform属性可以轻松实现图片旋转。以下是一个简单的示例代码: const image = document.getElement…

js实现递归

js实现递归

递归的基本概念 递归是一种通过函数调用自身来解决问题的方法。在JavaScript中,递归通常用于处理具有重复子问题或分治结构的数据,例如树形结构、阶乘计算等。 递归的实现要点 基线条件(Base…

vue.js实现checkbox

vue.js实现checkbox

使用 v-model 绑定复选框 在 Vue.js 中,可以通过 v-model 指令实现复选框的双向数据绑定。复选框的值会与 Vue 实例中的数据属性同步。 <template>…

vue.js实现tab

vue.js实现tab

Vue.js 实现 Tab 切换功能 在 Vue.js 中实现 Tab 切换功能可以通过动态组件或条件渲染实现。以下是两种常见方法: 动态组件实现 通过 <component> 结合 v…