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 相关文章推荐
日期 时间js控件
May 07 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
创建js对象和js类的方法汇总
Dec 24 Javascript
jQuery实现自定义事件的方法
Apr 17 Javascript
jQuery实现的图文高亮滚动切换特效实例
Aug 10 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
Aug 25 Javascript
JS中setTimeout的巧妙用法前端函数节流
Mar 24 Javascript
javascript简单链式调用案例分析
May 10 Javascript
Vue+Express实现登录状态权限验证的示例代码
May 05 Javascript
JavaScript中while循环的基础使用教程
Aug 11 Javascript
微信小程序实现聊天室功能
Jun 14 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表单验证内容是否为空的实现代码
2016/11/14 PHP
效率高的Javscript字符串替换函数的benchmark
2008/08/02 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
js 代码优化点滴记录
2012/02/19 Javascript
jquery弹出层类代码分享
2013/12/27 Javascript
ff chrome和ie下全局动态定位的异同及全局高度的取法
2014/06/30 Javascript
Javascript与jQuery方法的隐藏与显示
2015/01/19 Javascript
详解AngularJS Filter(过滤器)用法
2015/12/28 Javascript
总结JavaScript设计模式编程中的享元模式使用
2016/05/21 Javascript
微信小程序 教程之wxapp视图容器 scroll-view
2016/10/19 Javascript
JS封装的三级联动菜单(使用时只需要一行js代码)
2016/10/24 Javascript
JavaScript获取短信验证码(周期性)
2016/12/29 Javascript
使用JQuery实现图片轮播效果的实例(推荐)
2017/10/24 jQuery
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
详解vue-cli 快速搭建单页应用之遇到的问题及解决办法
2018/03/01 Javascript
微信web端后退强制刷新功能的实现代码
2018/03/04 Javascript
ios中视频的最后一桢问题解决
2019/05/14 Javascript
jQuery擦除插件eraser使用方法详解
2020/01/11 jQuery
vue项目中使用多选框的实例代码
2020/07/22 Javascript
python中的字典详细介绍
2014/09/18 Python
对Python Pexpect 模块的使用说明详解
2019/02/14 Python
Django3中的自定义用户模型实例详解
2020/08/23 Python
python实现启动一个外部程序,并且不阻塞当前进程
2020/12/05 Python
python 爬取小说并下载的示例
2020/12/07 Python
澳大利亚领先的皮肤诊所:Skin Matrix(抗衰老、痤疮专家、药妆护肤)
2018/05/20 全球购物
介绍一下write命令
2012/09/24 面试题
医科大学毕业生自荐信
2014/02/03 职场文书
英文自荐信常用句子
2014/03/26 职场文书
代理人委托书
2014/09/16 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2015年采购员工作总结
2015/04/27 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
《妈妈别哭,有我在》读后感3篇
2020/01/13 职场文书
详解Mysq MVCC多版本的并发控制
2022/04/29 MySQL
python通过新建环境安装tfx的问题
2022/05/20 Python
mysql拆分字符串作为查询条件的示例代码
2022/07/07 MySQL