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 相关文章推荐
jquery的颜色选择插件实例代码
Oct 02 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
Oct 03 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
Apr 13 Javascript
使用Grunt.js管理你项目的应用说明
Apr 24 Javascript
js实现幻灯片效果(基于jquery插件)
Nov 05 Javascript
常见表单重复提交问题整理及解决方法
Nov 13 Javascript
Node.js中的缓冲与流模块详细介绍
Feb 11 Javascript
深入浅析JavaScript字符串操作方法 slice、substr、substring及其IE兼容性
Dec 16 Javascript
通过网页查看JS源码中汉字显示乱码的解决方法
Oct 26 Javascript
jQuery实现别踩白块儿网页版小游戏
Jan 18 Javascript
jQuery事件对象的属性和方法详解
Sep 09 jQuery
微信小程序开发之tabbar图标和颜色的实现
Oct 17 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
php中将地址生成迅雷快车旋风链接的代码[测试通过]
2011/04/20 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
php + nginx项目中的权限详解
2017/05/23 PHP
Prototype最新版(1.5 rc2)使用指南(1)
2007/01/10 Javascript
Jquery写一个鼠标拖动效果实现原理与代码
2012/12/24 Javascript
jQuery 中国省市两级联动选择附图
2014/05/14 Javascript
JavaScript常用标签和方法总结
2015/09/01 Javascript
深入剖析JavaScript面向对象编程
2016/07/12 Javascript
js 转义字符及URI编码详解
2017/02/28 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
关于vue.extend和vue.component的区别浅析
2017/08/16 Javascript
React Native实现地址挑选器功能
2017/10/24 Javascript
vue-infinite-loading2.0 中文文档详解
2018/04/08 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
jQuery实现的页面弹幕效果【测试可用】
2018/08/17 jQuery
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
vue项目实现设置根据路由高亮对应的菜单项操作
2020/08/06 Javascript
[36:14]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第二局
2016/02/28 DOTA
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python科学画图代码分享
2017/11/29 Python
详解tensorflow训练自己的数据集实现CNN图像分类
2018/02/07 Python
matplotlib实现区域颜色填充
2019/03/18 Python
python实现计算器简易版
2020/12/17 Python
python re.match()用法相关示例
2021/01/27 Python
英文简历中的自荐信范文
2013/12/14 职场文书
大学四年规划书范文
2013/12/27 职场文书
幼儿园新学期寄语
2014/01/18 职场文书
大型营销活动计划书
2014/04/28 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
高一军训口号
2015/12/25 职场文书
《七律·长征》教学反思
2016/02/16 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
解决jupyter notebook图片显示模糊和保存清晰图片的操作
2021/04/24 Python
tree shaking对打包体积优化及作用
2022/07/07 Java/Android
postgresql中如何执行sql文件
2023/05/08 PostgreSQL