字符串回文【一天一个算法陶冶情操 | 算法练习生第一天】

字符串回文

js 复制代码
// 比如下面的单词: mom | racecar | kayak
// 给定一个单词 创建一个函数来检查它是否是回文, 如: isPalindrome('mom') -> true,  isPalindrome('crazy') -> false
// 第一种
const isPalindrome = (str) => {
  return [...str].reverse().join('') == str
  /**
   * 简析
   * ...str 做一个浅拷贝
   * reverse 翻转一下字符串 并不去影响原字符串
   * join 拼接下
   */
}

// 第2种
const isPalindrome2 = (str) => {
  return str === str.split('').reverse().join('')
  /**
   * 简析
   * split 把字符串分割成单个字符串的数组
   * reverse 不伤原始数据反转一下
   * join 拼接下
   */
}

// 第3种 比较野蛮
const isPalindrome3 = (str) => {
  for (let i = 0; i < str.length; i++) {
    if (str[i] !== str[str.length - 1 - i]) {
      return false
    }
  }
  return true
  /**
   * 通过一个for循环 根据字符串的索引前后作对比得出结果
   */
}
// 验证一下
isPalindrome('aaa')
console.log('isPalindrome', isPalindrome('alsd'))
isPalindrome('abccba')
console.log('isPalindrome', isPalindrome('abccba'))
isPalindrome2('abccba')
console.log('isPalindrome2', isPalindrome2('abccba'))
isPalindrome3('abccba')
console.log('isPalindrome3', isPalindrome3('abccba'))
相关推荐
nbsaas-boot26 分钟前
多智能体系统的架构边界:任务编排、共享状态与故障隔离设计
人工智能·算法·动态规划
wuyk55542 分钟前
12.归并排序:分治思想的稳定排序算法
开发语言·数据结构·算法·排序算法
吴声子夜歌1 小时前
ApacheCommons——commons-text(模板替换与文本算法)
java·开发语言·算法·apache
JiNan.YouQuan.Soft1 小时前
数值计算引擎:计算固体力学
人工智能·算法·机器学习
非凡ghost1 小时前
AI修图不“造假“,摄影师的出片效率加速器
服务器·前端·人工智能·电脑
2601_951615201 小时前
网页设计模板源码 web前端模板网页源码下载
前端
mmsx1 小时前
osmdroid 地图实战 03|地图的"分层世界":离线方案、图层模型与 Overlay 体系
android·前端
和裕1 小时前
光伏储能定制加强型瓦楞纸箱:降低组件运输隐裂率与售后损耗的核心价值
大数据·运维·网络·人工智能·算法
郭邯2 小时前
从零到一:我用 AI 写了个复利计算器,顺便治好了我的"公式恐惧症"
前端
Pointer Pursuit2 小时前
C++11特性(二)
前端·c++·算法