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 相关文章推荐
IE中jquery.form中ajax提交没反应解决方法分享
Sep 11 Javascript
解析javascript 数组以及json元素的添加删除
Jun 26 Javascript
全面兼容的javascript时间格式化函数(比较实用)
May 14 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
jQuery中:empty选择器用法实例
Dec 30 Javascript
简介AngularJS的视图功能应用
Jun 17 Javascript
jQuery使用$.ajax进行即时验证实例详解
Dec 11 Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 Javascript
详解vue-cli开发环境跨域问题解决方案
Jun 06 Javascript
详解使用VueJS开发项目中的兼容问题
Aug 02 Javascript
ssm+vue前后端分离框架整合实现(附源码)
Jul 08 Javascript
js实现购物车商品数量加减
Sep 21 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面向对象的三大特征
2017/06/10 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
javascript &amp;&amp;和||运算法的另类使用技巧
2009/11/28 Javascript
ExtJs3.0中Store添加 baseParams 的Bug
2010/03/10 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
直接在JS里创建JSON数据然后遍历使用
2014/07/25 Javascript
js+html5实现canvas绘制网页时钟的方法
2016/05/21 Javascript
详解在vue-cli项目中安装node-sass
2017/06/21 Javascript
在Vue组件化中利用axios处理ajax请求的使用方法
2017/08/25 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
2017/09/02 Javascript
浅谈Angular2 模块懒加载的方法
2017/10/04 Javascript
浅析Angular19 自定义表单控件
2018/01/31 Javascript
React 组件转 Vue 组件的命令写法
2018/02/28 Javascript
自己动手封装一个React Native多级联动
2018/09/19 Javascript
浅析vue-cli3配置webpack-bundle-analyzer插件【推荐】
2019/10/23 Javascript
js实现选项卡效果
2020/03/07 Javascript
[01:12]DOTA2 2015年秋季互动指南
2015/11/10 DOTA
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python优化技巧之利用ctypes提高执行速度
2016/09/11 Python
利用python批量修改word文件名的方法示例
2017/10/17 Python
书单|人生苦短,你还不用python!
2017/12/29 Python
python2.6.6如何升级到python2.7.14
2018/04/08 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
python 并发编程 非阻塞IO模型原理解析
2019/08/20 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
python爬取微博评论的实例讲解
2021/01/15 Python
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
旅游管理实习自我鉴定
2013/09/29 职场文书
建筑专业毕业生推荐信
2013/11/21 职场文书
工作决心书范文
2014/03/11 职场文书
全国税务系统先进集体事迹材料
2014/05/19 职场文书
2015年财务工作总结范文
2015/03/31 职场文书
爱心募捐通知范文
2015/04/27 职场文书
贴吧吧主申请感言
2015/08/03 职场文书
初中信息技术教学反思
2016/02/16 职场文书
python读取pdf格式文档的实现代码
2021/04/01 Python