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中检测变量的类型的代码
Dec 28 Javascript
关于jQuery中的end()使用方法
Jul 10 Javascript
jQuery封装的获取Url中的Get参数示例
Nov 26 Javascript
JS Loading功能的简单实现
Nov 29 Javascript
关于Bootstrap弹出框无法调用问题的解决办法
Mar 10 Javascript
微信小程序 数据封装,参数传值等经验分享
Jan 09 Javascript
JS实现电商放大镜效果
Aug 24 Javascript
Vue2.0中三种常用传值方式(父传子、子传父、非父子组件传值)
Aug 16 Javascript
vue组件实践之可搜索下拉框功能
Nov 25 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
Feb 19 Javascript
jQuery实现移动端笔触canvas电子签名
May 21 jQuery
JavaScript最完整的深浅拷贝实现方式详解
Feb 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
支持数组的ADDSLASHES的php函数
2010/02/16 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
PHP中static关键字原理的学习研究分析
2011/07/18 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
2012/08/06 PHP
CI框架源码阅读,系统常量文件constants.php的配置
2013/02/28 PHP
win7计划任务定时执行PHP脚本设置图解
2014/05/09 PHP
详解PHP中的状态模式编程
2015/08/11 PHP
php 问卷调查结果统计
2015/10/08 PHP
PHP并发查询MySQL的实例代码
2017/08/09 PHP
jquery 表单下所有元素的隐藏
2009/07/25 Javascript
JavaScript插件化开发教程 (二)
2015/01/27 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
2017/04/11 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
webpack 动态批量加载文件的实现方法
2020/03/19 Javascript
Python3.x版本中新的字符串格式化方法
2015/04/24 Python
python getopt详解及简单实例
2016/12/30 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
python时间序列按频率生成日期的方法
2019/05/14 Python
Django 开发环境与生产环境的区分详解
2019/07/26 Python
Python Gluon参数和模块命名操作教程
2019/12/18 Python
python,Java,JavaScript实现indexOf
2020/09/09 Python
python给list排序的简单方法
2020/12/10 Python
CSS3轻松实现清新 Loading 效果的简单实例
2016/06/06 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
2014/12/05 HTML / CSS
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
大学旷课检讨书
2014/01/28 职场文书
迎新春趣味活动方案
2014/08/24 职场文书
庆七一活动总结
2014/08/27 职场文书
民族团结演讲稿范文
2014/08/27 职场文书
小学英语新课改心得体会
2016/01/22 职场文书
高中历史教学反思
2016/02/19 职场文书