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

字符串回文

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'))
相关推荐
一去不复返的通信er2 小时前
力扣-图论-岛屿数量
算法·leetcode·图论
2501_944521592 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
Ken_11154 小时前
小体积附件下载正常,大附件下载异常
javascript
变与不变8064 小时前
jQuery怎么使用
前端·javascript
神膘护体小月半5 小时前
flex 布局的 order 属性
前端·css
paopaokaka_luck5 小时前
流浪动物救助与收养系统(DeepSeek AI对话、 ECharts多维分析、救助流程衔接、领养与回访衔接、 捐赠确认与公示、志愿者协作)
java·前端·javascript·人工智能·mysql·echarts·推荐算法
仰望.5 小时前
vue 表格组件 vxe-table 树表格懒加载支持拖拽排序的详细用法
前端·javascript·vue.js·vxe-table
前端 贾公子5 小时前
vite-plugin-uni-manifest 升级指南
前端
小码哥_常5 小时前
iPhone 用户传了张 HEIC,我的前端崩了
前端
程序 代码狂人5 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法