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中string 的replace
Apr 12 Javascript
jquery监听div内容的变化具体实现思路
Nov 04 Javascript
javascript常用的正则表达式实例
May 15 Javascript
AngularJS入门教程(零):引导程序
Dec 06 Javascript
jQuery制作简洁的图片轮播效果
Apr 03 Javascript
JavaScript将当前时间转换成UTC标准时间的方法
Apr 06 Javascript
js实现百度搜索提示框
Feb 05 Javascript
JavaScript中最常见的三个面试题解析
Mar 04 Javascript
JavaScript基础之this详解
Jun 04 Javascript
Vue点击切换颜色的方法
Sep 13 Javascript
js异步上传多张图片插件的使用方法
Oct 22 Javascript
angular6 利用 ngContentOutlet 实现组件位置交换(重排)
Nov 02 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 文件上传系统手记
2009/10/26 PHP
在PHP中使用curl_init函数的说明
2010/11/02 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
PHP5函数小全(分享)
2013/06/06 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
基于PHP中的常用函数回顾
2013/07/11 PHP
PHP实现上传图片到 zimg 服务器
2016/10/19 PHP
PHP数组相加操作及与array_merge的区别浅析
2016/11/26 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
PHP操作Postgresql封装类与应用完整实例
2018/04/24 PHP
php实现微信小程序授权登录功能(实现流程)
2019/11/13 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
js面向对象设计用{}好还是function(){}好(构造函数)
2011/10/23 Javascript
Jquery获取复选框被选中值的简单方法
2013/07/04 Javascript
Vue下的国际化处理方法
2017/12/18 Javascript
Vue.directive 自定义指令的问题小结
2018/03/04 Javascript
微信小程序实现换肤功能
2018/03/14 Javascript
Vue结合后台导入导出Excel问题详解
2019/02/19 Javascript
Fetch超时设置与终止请求详解
2019/05/18 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
pygame实现弹力球及其变速效果
2017/07/03 Python
Django处理多用户类型的方法介绍
2019/05/18 Python
命令行运行Python脚本时传入参数的三种方式详解
2019/10/11 Python
利用django创建一个简易的博客网站的示例
2020/09/29 Python
一款利用纯css3实现的360度翻转按钮的实例教程
2014/11/05 HTML / CSS
什么是网络协议
2016/04/07 面试题
在校生汽车维修实习自我鉴定
2013/09/19 职场文书
自荐信怎么写呢?
2013/12/09 职场文书
女大学生自我鉴定
2013/12/09 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
迎国庆演讲稿
2014/09/15 职场文书
小学生学习保证书
2015/02/26 职场文书
公司安全管理制度范本
2015/08/05 职场文书
python自动计算图像数据集的RGB均值
2021/06/18 Python
引用计数法和root搜索算法以及JVM中判定对象需要回收的方法
2022/04/19 Java/Android