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 相关文章推荐
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
jquery 跨域访问问题解决方法(笔记)
Jun 08 Javascript
jquery+html5时钟特效代码分享(可设置闹钟并且语音提醒)
Mar 30 Javascript
使用three.js 画渐变的直线
Jun 05 Javascript
jQuery实现拖动剪裁图片作为头像
Dec 28 Javascript
浅谈webpack打包过程中因为图片的路径导致的问题
Feb 21 Javascript
vue-cli 使用axios的操作方法及整合axios的多种方法
Sep 12 Javascript
小程序实现搜索界面 小程序实现推荐搜索列表效果
May 18 Javascript
微信小程序 授权登录详解(附完整源码)
Aug 23 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
Feb 01 Javascript
javascript canvas检测小球碰撞
Apr 17 Javascript
使用vue cli4.x搭建vue项目的过程详解
May 08 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
一个非常完美的读写ini格式的PHP配置类分享
2015/02/12 PHP
PHP下载远程图片并保存到本地方法总结
2016/01/22 PHP
php删除数组指定元素实现代码
2017/05/03 PHP
PHP实现的简单AES加密解密算法实例
2017/05/29 PHP
jQuery(1.3.2) 7行代码搞定跟随屏幕滚动的层
2009/05/21 Javascript
基于jQuery实现的水平和垂直居中的div窗口
2011/08/08 Javascript
从数据结构分析看:用for each...in 比 for...in 要快些
2013/04/17 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
理解javascript对象继承
2016/04/17 Javascript
在线引用最新jquery文件的实现方法
2016/08/26 Javascript
js实现点击每个li节点,都弹出其文本值及修改
2016/12/15 Javascript
JavaScript中各数制转换全面总结
2017/08/21 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
2018/08/31 Javascript
jquery判断滚动条距离顶部的距离方法
2018/09/05 jQuery
vue解决一个方法同时发送多个请求的问题
2018/09/25 Javascript
利用Dectorator分模块存储Vuex状态的实现
2019/02/05 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
vue使用map代替Aarry数组循环遍历的方法
2020/04/30 Javascript
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
[40:55]Liquid vs LGD 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
跟老齐学Python之用while来循环
2014/10/02 Python
Python整型运算之布尔型、标准整型、长整型操作示例
2017/07/21 Python
Python3.6笔记之将程序运行结果输出到文件的方法
2018/04/22 Python
python 消除 futureWarning问题的解决
2019/12/25 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
python初步实现word2vec操作
2020/06/09 Python
css3中transition属性详解
2014/09/02 HTML / CSS
HTML5 Canvas 起步(2) - 路径
2009/05/12 HTML / CSS
探索欧洲最好的品牌:Bombinate
2019/06/14 全球购物
群胜软件Java笔试题
2012/09/29 面试题
往来会计岗位职责
2013/12/19 职场文书
仓库主管岗位职责
2014/03/02 职场文书
2014两会学习心得:榜样精神伴我行
2014/03/17 职场文书
"9.18"国耻日演讲稿范文
2014/09/14 职场文书
2014年医院工作总结
2014/11/20 职场文书
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android