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的构造函数和constructor属性
Jan 09 Javascript
Javascript 面向对象编程(一) 封装
Aug 28 Javascript
在jQuery中 常用的选择器介绍
Apr 16 Javascript
JS获取节点的兄弟,父级,子级元素的方法
Jan 09 Javascript
js opener的使用详解
Jan 11 Javascript
JS实现的数组全排列输出算法
Mar 19 Javascript
浅谈document.write()输出样式
May 07 Javascript
javascript js 操作数组 增删改查的简单实现
Jun 20 Javascript
Vue页面骨架屏的实现方法
May 22 Javascript
基于Vue 2.0 监听文本框内容变化及ref的使用说明介绍
Aug 24 Javascript
element实现合并单元格通用方法
Nov 13 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
Jan 05 Vue.js
详解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正则提取或替换img标记属性
2013/06/26 PHP
JSON字符串传到后台PHP处理问题的解决方法
2016/06/05 PHP
LAMP环境使用Composer安装Laravel的方法
2017/03/25 PHP
PHP基于swoole多进程操作示例
2019/08/12 PHP
使用CSS3实现字体颜色渐变的实现
2021/03/09 HTML / CSS
jquery图片放大功能简单实现
2013/08/01 Javascript
几种设置表单元素中文本输入框不可编辑的方法总结
2013/11/25 Javascript
JavaScript中匿名、命名函数的性能测试
2014/09/04 Javascript
avascript中的自执行匿名函数应用示例
2014/09/15 Javascript
在线所见即所得HTML编辑器的实现原理浅析
2015/04/25 Javascript
jquery滚动特效集锦
2015/06/03 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
2015/12/16 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
JavaScript学习笔记之取数组中最大值和最小值
2016/03/23 Javascript
详解angularJs中自定义directive的数据交互
2017/01/13 Javascript
详解Node.js项目APM监控之New Relic
2017/05/12 Javascript
Vue项目vscode 安装eslint插件的方法(代码自动修复)
2020/04/15 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
win7安装python生成随机数代码分享
2013/12/27 Python
Python中使用pprint函数进行格式化输出的教程
2015/04/07 Python
Python中__name__的使用实例
2015/04/14 Python
如何打包Python Web项目实现免安装一键启动的方法
2020/05/21 Python
Marc Jacobs彩妆官网:Marc Jacobs Beauty
2017/07/03 全球购物
美国照明、家居装饰和家具购物网站:Bellacor
2017/09/20 全球购物
意大利香水和化妆品购物网站:Parfimo.it
2019/10/06 全球购物
行政助理岗位职责
2013/11/10 职场文书
秋季运动会稿件
2014/01/30 职场文书
护理学应聘自荐书范文
2014/02/05 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
培训讲师岗位职责
2014/04/13 职场文书
乔布斯斯坦福大学演讲稿
2014/05/23 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
2016年第十九届推普周活动总结
2016/04/06 职场文书
争做文明公民倡议书
2019/06/24 职场文书
SQL Server——索引+基于单表的数据插入与简单查询【1】
2021/04/05 SQL Server
十大冰系宝可梦排名,颜值最高的阿罗拉九尾,第三使用率第一
2022/03/18 日漫