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打印输出json实例
Nov 11 Javascript
JS实现判断碰撞的方法
Feb 11 Javascript
AngularJS中监视Scope变量以及外部调用Scope方法
Jan 23 Javascript
微信小程序 条件渲染详解
Oct 09 Javascript
js时间控件只显示年月
Jan 08 Javascript
jquery操作select取值赋值与设置选中实例
Feb 28 Javascript
在javaScript中检测数据类型的几种方式小结
Mar 04 Javascript
vue实现选项卡及选项卡切换效果
Apr 24 Javascript
vue组件tabbar使用方法详解
Nov 06 Javascript
详解如何搭建mpvue框架搭配vant组件库的小程序项目
May 16 Javascript
EXTJS7实现点击拖拉选择文本
Dec 17 Javascript
javascript代码实现简易计算器
Jan 25 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
一个用于mysql的数据库抽象层函数库
2006/10/09 PHP
PHP安全配置
2006/12/06 PHP
simplehtmldom Doc api帮助文档
2012/03/26 PHP
php基于mcrypt的加密解密实例
2014/10/27 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
2016/02/23 PHP
轻轻松松学习JavaScript
2007/02/25 Javascript
js调试工具 Javascript Debug Toolkit 2.0.0版本发布
2008/12/02 Javascript
js中更短的 Array 类型转换
2011/10/30 Javascript
js图片延迟加载的实现方法及思路
2013/07/22 Javascript
快速解决FusionCharts联动的中文乱码问题
2013/12/04 Javascript
JavaScript数值转换的三种方式总结
2014/07/31 Javascript
JavaScript中的单引号和双引号报错的解决方法
2014/09/01 Javascript
jQuery中parent()方法用法实例
2015/01/07 Javascript
使用DNode实现php和nodejs之间通信的简单实例
2015/07/06 NodeJs
JavaScript数组对象赋值用法实例
2015/08/04 Javascript
iframe中子父类窗口调用JS的方法及注意事项
2015/08/25 Javascript
jQuery和hwSlider实现内容响应式可触控滑动切换效果附源码下载(二)
2016/06/22 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
jQuery选择器实例应用
2017/01/05 Javascript
原生javascript上传图片带进度条【实例分享】
2017/04/06 Javascript
Vue Transition实现类原生组件跳转过渡动画的示例
2017/08/19 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
2018/03/06 Javascript
element UI upload组件上传附件格式限制方法
2018/09/04 Javascript
深入浅出 Vue 系列 -- 数据劫持实现原理
2019/04/23 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
2019/05/07 Javascript
微信小程序授权登录解决方案的代码实例(含未通过授权解决方案)
2019/05/10 Javascript
JS中的算法与数据结构之栈(Stack)实例详解
2019/08/20 Javascript
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
2019/02/20 Python
浅谈Python基础—判断和循环
2019/03/22 Python
pycharm双击无响应(打不开问题解决办法)
2020/01/10 Python
FitFlop美国官网:英国符合人体工学的鞋类品牌
2018/10/05 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
师恩难忘教学反思
2014/04/27 职场文书
2015年小学美术工作总结
2015/05/25 职场文书
小学班级标语口号大全
2015/12/26 职场文书