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 相关文章推荐
使用js+jquery实现无限极联动
May 23 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
Nov 19 Javascript
node.js集成百度UE编辑器
Feb 05 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
JavaScript中指定函数名称的相关方法
Jun 04 Javascript
jQuery实现鼠标经过事件的延时处理效果
Aug 20 Javascript
JavaScript职责链模式概述
Sep 17 Javascript
两种简单的跨域方法(jsonp、php)
Jan 02 Javascript
详解JS中定时器setInterval和setTImeout的this指向问题
Jan 06 Javascript
weui框架实现上传、预览和删除图片功能代码
Aug 24 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
vue操作动画的记录animate.css实例代码
Apr 26 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实现详细解析
2013/08/24 PHP
织梦sitemap地图实时推送给百度的教程
2015/08/03 PHP
php数组冒泡排序算法实例
2016/05/06 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
Jquery中获取iframe的代码
2011/01/11 Javascript
一行代码告别document.getElementById
2012/06/01 Javascript
解读JavaScript中 For, While与递归的用法
2013/05/07 Javascript
jquery indexOf使用方法
2013/08/19 Javascript
JQuery实现倒计时按钮具体方法
2013/11/14 Javascript
Jquery获得控件值的三种方法总结
2014/02/13 Javascript
JavaScript判断文件上传类型的方法
2014/09/02 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
JavaScript实现图片自动加载的瀑布流效果
2016/04/11 Javascript
JavaScript中的boolean布尔值使用学习及相关技巧讲解
2016/05/26 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
教你5分钟学会用requirejs(必看篇)
2017/07/25 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
简单两步使用node发送qq邮件的方法
2019/03/01 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
2020/02/27 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
Python程序设计入门(2)变量类型简介
2014/06/16 Python
简单的Python抓taobao图片爬虫
2014/10/26 Python
Python线程创建和终止实例代码
2018/01/20 Python
详解Django的CSRF认证实现
2018/10/09 Python
python程序封装为win32服务的方法
2021/03/07 Python
python ipset管理 增删白名单的方法
2019/01/14 Python
Python实现统计英文文章词频的方法分析
2019/01/28 Python
详解Python Matplotlib解决绘图X轴值不按数组排序问题
2019/08/05 Python
python logging通过json文件配置的步骤
2020/04/27 Python
使用Python实现将多表分批次从数据库导出到Excel
2020/05/15 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
2020/10/27 Python
英国儿童设计师服装的领先零售商:Base
2019/03/17 全球购物
个人债务授权委托书范本
2014/10/05 职场文书
党员廉洁自律个人总结
2015/02/13 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
python基础入门之字典和集合
2021/06/13 Python