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 相关文章推荐
javascript 程序库的比较(一)之DOM功能
Apr 07 Javascript
jquery实现鼠标拖动图片效果示例代码
Jan 09 Javascript
验证码在IE中不刷新而谷歌等浏览器正常的解决方案
Mar 18 Javascript
JavaScript中双叹号(!!)作用示例介绍
Apr 10 Javascript
QQ空间顶部折页撕开效果示例代码
Jun 15 Javascript
JavaScript toUpperCase()方法使用详解
Aug 26 Javascript
jsTree使用记录实例
Dec 01 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
vue.js的手脚架vue-cli项目搭建的步骤
Aug 30 Javascript
微信小程序修改swiper默认指示器样式的实例代码
Jul 18 Javascript
layui 实现table翻页滚动条位置保持不变的例子
Sep 05 Javascript
解决vue语法会有延迟加载显现{{xxx}}的问题
Nov 14 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/03/25 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
php实现通用的从数据库表读取数据到数组的函数实例
2015/03/21 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
2018/02/23 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
两个JavaScript jsFiddle JSBin在线调试器
2010/03/14 Javascript
Jquery+ajax请求data显示在GridView上(asp.net)
2010/08/27 Javascript
js获取域名的方法
2015/01/27 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
JavaScript中省略元素对数组长度的影响
2016/10/26 Javascript
基于vue 开发中出现警告问题去除方法
2018/01/25 Javascript
webpack配置打包后图片路径出错的解决
2018/04/26 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
记录一次开发微信网页分享的步骤
2019/05/07 Javascript
js利用iframe实现选项卡效果
2020/08/09 Javascript
[01:09:23]KG vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
使用Python实现一个简单的项目监控
2015/03/31 Python
图文详解WinPE下安装Python
2016/05/17 Python
Django实现组合搜索的方法示例
2018/01/23 Python
Python使用zip合并相邻列表项的方法示例
2018/03/17 Python
python实现转圈打印矩阵
2019/03/02 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python3如何判断三角形的类型
2020/04/12 Python
css3实现动画的三种方式
2020/08/24 HTML / CSS
建筑实习自我鉴定
2013/10/18 职场文书
财务专业大学生职业生涯规划范文
2013/12/30 职场文书
优秀老师事迹材料
2014/02/05 职场文书
新年晚会主持词
2014/03/24 职场文书
消防工作实施方案
2014/06/09 职场文书
学年个人总结范文
2015/03/05 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
刑事附带民事代理词
2015/05/25 职场文书
微软Win11有哪些隐藏功能? windows11多个功能汇总
2021/11/21 数码科技
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技