js如何找出字符串中的最长回文串


Posted in Javascript onJune 04, 2018

本文实例为大家分享了js找出字符串中的最长回文串的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <meta http-equiv="X-UA-Compatible" content="IE=edge">
 <title>回文</title>
 <link rel="stylesheet" href="">
</head>
<body>
 <script type="text/javascript">

  function longestPalindrome(str){

   let palindromeStr=""; //记录最长回文串
   let tempPalindrome=""; //记录当前回文串

   for(let i=0;i<str.length;i++){ //i记录当前遍历字符串的开始位置,循环依次向后遍历

    tempPalindrome=""; //每次新的一轮开始时,将临时记录回文串的变量清空

    for(let j=i;j<str.length;j++){ //每次开始循环是以当前i所在的下标位置为开始遍历字符串的起始位置,直到遍历到结束位置

     tempPalindrome+=str.charAt(j); //逐个增加字符串的长度

     if(isPalindrome(tempPalindrome) && tempPalindrome.length>palindromeStr.length){   //将当前的字符串传入isPalindrome进行回文判断,如果是回文串,则判断当前回文串长度是否大于之前记录的最长回文串的长度,如果大于之前的回文串,则更新之前的记录即可

      palindromeStr=tempPalindrome; //更新回文串

     }
    }
   }

   return palindromeStr; //返回最终的最长的回文串

  }

  function isPalindrome(s){ //判断是否为回文串
   let rev=s.split('').reverse().join(''); //字符串逆转操作
   return rev===s;
  }

  //测试
  console.log(longestPalindrome("ddabbade"));//输出dabbad

 </script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js 数组的for循环到底应该怎么写?
May 31 Javascript
让你的CSS像Jquery一样做筛选的实现方法
Jul 10 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
使用Promise解决多层异步调用的简单学习心得
May 17 Javascript
纯js实现倒计时功能
Jan 06 Javascript
JavaScript实现反转字符串的方法详解
Apr 27 Javascript
浅谈angular.js跨域post解决方案
Aug 30 Javascript
vue axios请求拦截实例代码
Mar 29 Javascript
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
elementUI 动态生成几行几列的方法示例
Jul 11 Javascript
javascript实现点击星星小游戏
Dec 24 Javascript
JavaScript内置对象之Array的使用小结
May 12 Javascript
详解Webpack + ES6 最新环境搭建与配置
Jun 04 #Javascript
jQuery实现的简单获取索引功能示例
Jun 04 #jQuery
JS实现统计字符串中字符出现个数及最大个数功能示例
Jun 04 #Javascript
Vue父子组建的简单通信之控制开关Switch的实现
Jun 04 #Javascript
深入浅析JS中的严格模式
Jun 04 #Javascript
详解如何在你的Vue项目配置vux
Jun 04 #Javascript
详解vue-loader在项目中是如何配置的
Jun 04 #Javascript
You might like
数字转英文
2006/12/06 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
【经典源码收藏】基于jQuery的项目常见函数封装集合
2016/06/07 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
运用js教你轻松制作html音乐播放器
2020/04/17 Javascript
微信小程序显示倒计时功能示例【测试可用】
2018/12/03 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
js回文数的4种判断方法示例
2019/06/04 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
Python列表切片用法示例
2017/04/19 Python
Python自定义线程类简单示例
2018/03/23 Python
配置 Pycharm 默认 Test runner 的图文教程
2018/11/30 Python
wxpython实现按钮切换界面的方法
2019/11/19 Python
python统计字符的个数代码实例
2020/02/07 Python
Python表达式的优先级详解
2020/02/18 Python
python 子类调用父类的构造函数实例
2020/03/12 Python
通过实例了解Python异常处理机制底层实现
2020/07/23 Python
利用Python中的Xpath实现一个在线汇率转换器
2020/09/09 Python
Pycharm 跳转回之前所在页面的操作
2021/02/05 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
面向对象概念面试题(.NET)
2016/11/04 面试题
写给学生的新学期寄语
2014/01/18 职场文书
教师研修随笔感言
2014/01/23 职场文书
公司外出活动方案
2014/08/14 职场文书
小学红领巾广播稿(3篇)
2014/09/13 职场文书
服务员岗位职责范本
2015/04/09 职场文书
家装电话营销开场白
2015/05/29 职场文书
王亚平太空授课观后感
2015/06/12 职场文书
2015年新农村建设指导员工作总结
2015/07/24 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
sql中mod()函数取余数的用法
2021/05/29 SQL Server
从结婚开始的恋爱故事。小说《我的美好婚事》TV动画化决定
2022/04/07 日漫