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中map函数遍历数组用法实例
May 18 Javascript
jquery实现浮动的侧栏实例
Jun 25 Javascript
JS实现仿FLASH效果的竖排导航代码
Sep 15 Javascript
Jquery使用小技巧汇总
Dec 29 Javascript
禁用backspace网页回退功能的实现代码
Nov 15 Javascript
深入理解javascript中的 “this”
Jan 17 Javascript
vue-ajax小封装实例
Sep 18 Javascript
layui点击导航栏刷新tab页的示例代码
Aug 14 Javascript
详解angular2如何手动点击特定元素上的点击事件
Oct 16 Javascript
vue实现的下拉框功能示例
Jan 29 Javascript
基于JavaScript获取base64图片大小
Oct 18 Javascript
vue 动态创建组件的两种方法
Dec 31 Vue.js
微信小程序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
咖啡知识 除了喝咖啡还有那些知识点
2021/03/06 新手入门
PHP下载远程图片的几种方法总结
2017/04/07 PHP
php实现单笔转账到支付宝功能
2018/10/09 PHP
使用composer 安装 laravel框架的方法图文详解
2019/08/02 PHP
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
2013/01/09 Javascript
jQuery创建平滑的页面滚动(顶部或底部)
2013/02/26 Javascript
js控制表单奇偶行样式的简单方法
2013/07/31 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
拥Bootstrap入怀——导航栏篇
2016/05/30 Javascript
打造自己的jQuery插件入门教程
2016/09/23 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
详解react服务端渲染(同构)的方法
2017/09/21 Javascript
React Native中的RefreshContorl下拉刷新使用
2017/10/09 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
多个Vue项目部署到服务器的步骤记录
2020/10/22 Javascript
基于Python实现的扫雷游戏实例代码
2014/08/01 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
2017/05/08 Python
pandas通过loc生成新的列方法
2018/11/28 Python
Python多图片合并PDF的方法
2019/01/03 Python
keras-siamese用自己的数据集实现详解
2020/06/10 Python
获取CSDN文章内容并转换为markdown文本的python
2020/09/06 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
德国低价购买灯具和家具网站:Style-home.de
2016/11/25 全球购物
皮尔·卡丹巴西官方商店:Pierre Cardin
2017/07/21 全球购物
艺术系应届生的自我评价
2013/10/19 职场文书
汽车维修专业毕业生的求职信分享
2013/12/04 职场文书
高三地理教学反思
2014/01/11 职场文书
交通文明倡议书
2014/05/16 职场文书
道歉信怎么写
2015/05/12 职场文书
文化大革命观后感
2015/06/17 职场文书
车间安全生产管理制度
2015/08/06 职场文书
社会实践心得体会范文
2016/01/14 职场文书
Python+Appium实现自动抢微信红包
2021/05/21 Python
python中mongodb包操作数据库
2022/04/19 Python