JS使用栈判断给定字符串是否是回文算法示例


Posted in Javascript onMarch 04, 2019

本文实例讲述了JS使用栈判断给定字符串是否是回文算法。分享给大家供大家参考,具体如下:

/*使用栈stack类的实现*/
function stack() {
  this.dataStore = [];//保存栈内元素,初始化为一个空数组
  this.top = 0;//栈顶位置,初始化为0
  this.push = push;//入栈
  this.pop = pop;//出栈
  this.peek = peek;//查看栈顶元素
  this.clear = clear;//清空栈
  this.length = length;//栈内存放元素的个数
}
function push(element){
  this.dataStore[this.top++] = element;
}
function pop(){
  return this.dataStore[--this.top];
}
function peek(){
  return this.dataStore[this.top-1];
}
function clear(){
  this.top = 0;
}
function length(){
  return this.top;
}
/*使用栈判断给定字符串是否是回文的算法*/
function isPalindrome(word){
  var s = new stack();
  for(var i = 0;i < word.length;i++){
    s.push(word[i]);
  }
  var rword = "";
  while(s.length() > 0){
    rword += s.pop();
  }
  if(word == rword){
    return true;
  }else{
    return false;
  }
}
var word1 = "racecar";
if(isPalindrome(word1)){
  console.log(word1 + " is a palindrome")//racecar is a palindrome
}

这里使用在线HTML/CSS/JavaScript代码运行工具:http://tools.3water.com/code/HtmlJsRun测试上述代码,可得如下运行结果:

JS使用栈判断给定字符串是否是回文算法示例

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
jQuery中文入门指南,翻译加实例,jQuery的起点教程
Jan 13 Javascript
JS window.opener返回父页面的应用
Oct 24 Javascript
Javascript Cookie读写删除操作的函数
Mar 02 Javascript
解决jquery中动态新增的元素节点无法触发事件问题的两种方法
Oct 30 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
Feb 02 Javascript
Vue.js实现文章评论和回复评论功能
May 30 Javascript
layui弹出层效果实现代码
May 19 Javascript
基于vue2实现左滑删除功能
Nov 28 Javascript
Angular2进阶之如何避免Dom误区
Apr 02 Javascript
echarts实现地图定时切换散点与多图表级联联动详解
Aug 07 Javascript
浅谈vue.use()方法从源码到使用
May 12 Javascript
vue点击按钮实现简单页面的切换
Sep 08 Javascript
微信小程序textarea层级过高(盖住其他元素)问题的解决办法
Mar 04 #Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
Mar 04 #Javascript
使用ESLint禁止项目导入特定模块的方法步骤
Mar 04 #Javascript
微信小程序textarea层级过高的解决方法
Mar 04 #Javascript
浅析vue中的MVVM实现原理
Mar 04 #Javascript
JavaScript实现的九种排序算法
Mar 04 #Javascript
如何在JavaScript中优雅的提取循环内数据详解
Mar 04 #Javascript
You might like
过滤掉PHP数组中的重复值的实现代码
2011/07/17 PHP
mysql数据库差异比较的PHP代码
2012/02/05 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
javascript contains和compareDocumentPosition 方法来确定是否HTML节点间的关系
2010/02/04 Javascript
JavaScript Event学习第三章 早期的事件处理程序
2010/02/07 Javascript
js动态生成指定行数的表格
2013/07/11 Javascript
前端轻量级MVC框架CanJS详解
2014/09/26 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
JS建造者模式基本用法实例分析
2015/06/30 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
2015/11/15 Javascript
使用原生js封装的ajax实例(兼容jsonp)
2017/10/12 Javascript
JS获取数组中出现次数最多及第二多元素的方法
2017/10/27 Javascript
Node.js中DNS模块学习总结
2018/02/28 Javascript
vue踩坑记录之数组定义和赋值问题
2019/03/20 Javascript
微信小程序图片左右摆动效果详解
2019/07/13 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
python利用beautifulSoup实现爬虫
2014/09/29 Python
python编写暴力破解FTP密码小工具
2014/11/19 Python
Python中线程编程之threading模块的使用详解
2015/06/23 Python
用Python解决计数原理问题的方法
2016/08/04 Python
python3.0 模拟用户登录,三次错误锁定的实例
2017/11/02 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
Python爬虫实现vip电影下载的示例代码
2020/04/20 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
Python实现文件压缩和解压的示例代码
2020/08/12 Python
详解Python openpyxl库的基本应用
2021/02/26 Python
双立人加拿大官网:Zwilling加拿大
2020/08/10 全球购物
大学同学聚会邀请函
2014/01/19 职场文书
护士辞职信范文
2014/01/19 职场文书
个人授权委托书范本
2014/04/03 职场文书
写给老婆的保证书
2015/02/27 职场文书
大学毕业典礼致辞
2015/07/29 职场文书
养成教育工作总结
2015/08/13 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
java中重写父类方法加不加@Override详解
2021/06/21 Java/Android
解决SpringBoot跨域的三种方式
2021/06/26 Java/Android