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 29 Javascript
获取表单控件原始(初始)值的方法
Aug 21 Javascript
巧用replace将文字表情替换为图片
Apr 17 Javascript
Bootstrap的图片轮播示例代码
Aug 31 Javascript
解决js图片加载时出现404的问题
Nov 30 Javascript
深入探究JavaScript中for循环的效率问题及相关优化
Mar 13 Javascript
jQuery Mobile操作HTML5的常用函数总结
May 17 Javascript
浅析JavaScript中var that=this
Feb 17 Javascript
Angularjs中使用指令绑定点击事件的方法
Mar 30 Javascript
JavaScript实现购物车基本功能
Jul 21 Javascript
深入浅析js原型链和vue构造函数
Oct 25 Javascript
微信小程序实现登录注册功能
Dec 29 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里面的抽象类
2010/01/28 PHP
解析php中mysql_connect与mysql_pconncet的区别详解
2013/05/15 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
解决laravel 表单提交-POST 异常的问题
2019/10/15 PHP
javascript arguments 传递给函数的隐含参数
2009/08/21 Javascript
SWFObject 2.1以上版本语法介绍
2010/07/10 Javascript
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
js判断样式className同时增加class或删除class
2013/01/30 Javascript
jQuery链使用指南
2015/01/20 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
JS原型、原型链深入理解
2016/02/27 Javascript
jQuery事件用法详解
2016/10/06 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
JavaScript+Html5实现按钮复制文字到剪切板功能(手机网页兼容)
2017/03/30 Javascript
微信小程序中的店铺评分组件及vue中用svg实现的评分显示组件
2018/11/16 Javascript
layui 解决富文本框form表单提交为空的问题
2019/10/26 Javascript
js函数柯里化的方法和作用实例分析
2020/04/11 Javascript
[42:52]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
Python一句代码实现找出所有水仙花数的方法
2018/11/13 Python
浅谈pycharm的xmx和xms设置方法
2018/12/03 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
对Python定时任务的启动和停止方法详解
2019/02/19 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
CSS3制作日历实现代码
2012/01/21 HTML / CSS
Sperry澳大利亚官网:源自美国帆船鞋创始品牌
2019/07/29 全球购物
两则小学生的自我评价分享
2013/11/14 职场文书
无传销社区工作方案
2014/05/13 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
煤矿安全生产管理协议书
2016/03/22 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
MySQL限制查询和数据排序介绍
2022/03/25 MySQL
Java基础——Map集合
2022/04/01 Java/Android
Nginx使用ngx_http_upstream_module实现负载均衡功能示例
2022/08/05 Servers