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中的Window窗口对象
Jan 16 Javascript
javascript 图片裁剪技巧解读
Nov 15 Javascript
JSF中confirm弹出框的用法示例介绍
Jan 07 Javascript
js带缩略图的图片轮播效果代码分享
Sep 14 Javascript
js实现表单提交后不重新刷新当前页面
Nov 30 Javascript
vue.js指令v-model实现方法
Dec 05 Javascript
JS高仿抛物线加入购物车特效实现代码
Feb 20 Javascript
JavaScript之json_动力节点Java学院整理
Jun 29 Javascript
JS获取一个表单字段中多条数据并转化为json格式
Oct 17 Javascript
vue-router的HTML5 History 模式设置
Sep 08 Javascript
JS常见错误(Error)及处理方案详解
Jul 02 Javascript
微信小程序上传帖子的实例代码(含有文字图片的微信验证)
Jul 11 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/06/08 PHP
写php分页时出现的Fatal error的解决方法
2011/04/18 PHP
php ci框架验证码实例分析
2013/06/26 PHP
深入浅出php socket编程
2015/05/13 PHP
PHP编写文件多服务器同步程序
2016/07/02 PHP
PHP中文字符串截断无乱码解决方法
2016/10/10 PHP
PHP运行模式汇总
2016/11/06 PHP
PHP多进程编程实例详解
2017/07/19 PHP
JS 显示当前日期与时间的代码
2010/03/24 Javascript
ECMAScript 创建自己的js类库
2012/11/22 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
JQuery validate插件Remote用法大全
2016/05/15 Javascript
基于css3新属性transform及原生js实现鼠标拖动3d立方体旋转
2016/06/12 Javascript
jquery组件WebUploader文件上传用法详解
2020/10/23 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
Nuxt升级2.0.0时出现的问题(小结)
2018/10/08 Javascript
BootstrapValidator验证用户名已存在(ajax)
2019/11/08 Javascript
[07:09]2014DOTA2国际邀请赛-Newbee再次发威成功晋级决赛
2014/07/19 DOTA
Python中查看文件名和文件路径
2017/03/31 Python
Python3单行定义多个变量或赋值方法
2018/07/12 Python
如何用Python实现简单的Markdown转换器
2018/07/16 Python
Python数据集切分实例
2018/12/08 Python
Python基于opencv实现的简单画板功能示例
2019/03/04 Python
Python视频编辑库MoviePy的使用
2020/04/01 Python
Python新手学习标准库模块命名
2020/05/29 Python
python求解汉诺塔游戏
2020/07/09 Python
python中二分查找法的实现方法
2020/12/06 Python
pip install命令安装扩展库整理
2021/03/02 Python
教师个人的自我评价分享
2014/01/02 职场文书
中药学专业求职信
2014/05/31 职场文书
2014年幼儿园国庆主题活动方案
2014/09/16 职场文书
解除劳动合同协议书
2014/09/17 职场文书
简单租房协议书(范本)
2014/10/13 职场文书
python实现的人脸识别打卡系统
2021/05/08 Python
SQL模糊查询报:ORA-00909:参数个数无效问题的解决
2021/06/21 Oracle
Python使用OpenCV实现虚拟缩放效果
2022/02/28 Python