当前位置:首页 > JavaScript

js回文算法实现

2026-02-02 16:41:38JavaScript

回文算法的实现方法

方法一:使用字符串反转 将字符串反转后与原字符串比较,若相同则为回文。

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

方法二:使用双指针 从字符串两端向中间遍历,逐个比较字符是否相同。

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, left = 0, right = str.length - 1) {
  if (left >= right) return true;
  if (str[left] !== str[right]) return false;
  return isPalindrome(str, left + 1, right - 1);
}

方法四:使用正则表达式 去除非字母数字字符后判断回文。

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

注意事项

  • 处理大小写问题时可统一转换为小写
  • 处理标点符号和空格时需先清理字符串
  • 时间复杂度最优解是O(n),空间复杂度最优是O(1)

js回文算法实现

标签: 回文算法
分享给朋友:

相关文章

vue实现sku算法

vue实现sku算法

Vue 实现 SKU 算法 SKU(Stock Keeping Unit)算法通常用于电商平台,用于处理商品的多规格组合(如颜色、尺寸等)及其库存管理。以下是基于 Vue 的实现方法: 数据结构设计…

php实现算法

php实现算法

PHP 实现常见算法的方法 PHP 可以实现多种算法,包括排序、搜索、递归、动态规划等。以下是几种常见算法的 PHP 实现方式。 冒泡排序(Bubble Sort) 冒泡排序通过多次遍历数组,每…

php实现欧几里得算法实现

php实现欧几里得算法实现

欧几里得算法简介 欧几里得算法(辗转相除法)用于计算两个非负整数的最大公约数(GCD)。其核心思想是通过反复用较小数除较大数取余,直到余数为0,此时的除数即为最大公约数。 PHP实现方法 以下是用P…

php 实现共识算法

php 实现共识算法

PHP 实现共识算法的基础方法 共识算法是分布式系统中确保数据一致性的核心机制,PHP 可通过特定设计实现简化版本的共识逻辑。以下是常见实现方式: 基于Paxos的简化实现 Paxos 算法的 P…

js实现基数算法

js实现基数算法

基数排序(Radix Sort)简介 基数排序是一种非比较型整数排序算法,通过逐位分配和收集实现排序。适用于整数或固定格式字符串,时间复杂度为O(nk),其中n是元素数量,k是数字位数。 实…

蚁群算法js实现

蚁群算法js实现

蚁群算法简介 蚁群算法(Ant Colony Optimization, ACO)是一种模拟蚂蚁觅食行为的启发式算法,常用于解决组合优化问题(如旅行商问题TSP)。蚂蚁通过信息素(pheromone)…