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判断当前日期是否大于某个日期的实现代码
Sep 02 Javascript
Js如何判断客户端是PC还是手持设备简单分析
Nov 22 Javascript
jQuery满屏焦点图左右滚动特效代码分享
Sep 07 Javascript
javascript数据结构之双链表插入排序实例详解
Nov 25 Javascript
Bootstrap进度条组件知识详解
May 01 Javascript
使用Promise链式调用解决多个异步回调的问题
Jan 15 Javascript
深入理解vue.js中的v-if和v-show
Jun 22 Javascript
react native与webview通信的示例代码
Sep 25 Javascript
浅谈Vuex@2.3.0 中的 state 支持函数申明
Nov 22 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
Jul 06 Javascript
vuejs+element UI点击编辑表格某一行时获取内容填入表单的示例
Oct 31 Javascript
详解如何快速配置webpack多入口脚手架
Dec 28 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实现的下载css文件中的图片的代码
2010/02/08 PHP
在PHP模板引擎smarty生成随机数的方法和math函数详解
2014/04/24 PHP
PHP单例模式详解及实例代码
2016/12/21 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
如何在PHP中使用AES加密算法加密数据
2020/06/24 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
让checkbox不选中即将选中的checkbox不选中
2014/07/11 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
JavaScript代码执行的先后顺序问题
2017/10/29 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
vue组件编写之todolist组件实例详解
2018/01/22 Javascript
layer插件select选中默认值的方法
2018/08/14 Javascript
微信小程序实现登录注册tab切换效果
2020/12/29 Javascript
Nodejs使用archiver-zip-encrypted库加密压缩文件时报错(解决方案)
2019/11/18 NodeJs
js实现登录时记住密码的方法分析
2020/04/05 Javascript
vue+vant 上传图片需要注意的地方
2021/01/03 Vue.js
决策树的python实现方法
2014/11/18 Python
Python 3.x读写csv文件中数字的方法示例
2017/08/29 Python
Jupyter中直接显示Matplotlib的图形方法
2018/05/24 Python
对pyqt5多线程正确的开启姿势详解
2019/06/14 Python
解决pycharm中opencv-python导入cv2后无法自动补全的问题(不用作任何文件上的修改)
2020/03/05 Python
python实现简单坦克大战
2020/03/27 Python
浅析python 定时拆分备份 nginx 日志的方法
2020/04/27 Python
详解CSS3的box-shadow属性制作边框阴影效果的方法
2016/05/10 HTML / CSS
CSS3制作轮播图的一种方法
2019/11/11 HTML / CSS
5分钟弄清楚html5的drag and drop(小结)
2019/04/10 HTML / CSS
Canvas 帧动画吃苹果小游戏
2020/08/05 HTML / CSS
澳大利亚顶级美发和美容贸易超市:glamaCo
2020/01/19 全球购物
幼儿园大班开学寄语
2014/08/02 职场文书
js Proxy的原理详解
2021/05/25 Javascript
Django+Celery实现定时任务的示例
2021/06/23 Python