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

 更新时间:2019年03月04日 11:59:56   作者:白杨-M  
这篇文章主要介绍了JS使用栈判断给定字符串是否是回文算法,涉及基于javascript栈的构造、遍历、判断等相关操作技巧,需要的朋友可以参考下

本文实例讲述了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.jb51.net/code/HtmlJsRun测试上述代码,可得如下运行结果:

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数据结构与算法技巧总结》、《JavaScript数学运算用法总结》、《JavaScript排序算法总结》、《JavaScript遍历算法与技巧总结》、《JavaScript查找算法技巧总结》及《JavaScript错误与调试技巧总结

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

相关文章

  • JS实现移动端判断上拉和下滑功能

    JS实现移动端判断上拉和下滑功能

    通过手指触屏,利用touchstart和touchend计算前后滑动距离,判断是上拉还是下滑。接下来通过实例代码给大家介绍js移动端判断上拉和下滑功能,感兴趣的朋友一起看看吧
    2017-08-08
  • 教你如何通过JavaScript读取元素的样式

    教你如何通过JavaScript读取元素的样式

    这篇文章主要给大家介绍了关于如何通过JavaScript读取元素的样式,文中通过实例代码以及图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-01-01
  • JavaScript判断浏览器类型的方法

    JavaScript判断浏览器类型的方法

    这篇文章主要介绍了JavaScript判断浏览器类型的方法,可实现针对IE、火狐、谷歌等浏览器的判断,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-02-02
  • Javascript怎样使用SessionStorage和LocalStorage

    Javascript怎样使用SessionStorage和LocalStorage

    这篇文章主要介绍了Javascript怎样使用SessionStorage和LocalStorage,对web存储数据感兴趣的同学,可以参考下
    2021-04-04
  • js有序数组的连接问题

    js有序数组的连接问题

    昨天碰到一道关于如何解决有序数组的连接问题,这是一个很常见的问题。但是这里要考虑到代码的效率问题,因为要连接的数组都是有序的,这是一个非常重要的前提条件
    2013-10-10
  • JS getAttribute和setAttribute(取得和设置属性)的使用介绍

    JS getAttribute和setAttribute(取得和设置属性)的使用介绍

    本篇文章是对JS中的getAttribute和setAttribute(取得和设置属性)的使用进行了详细的分析介绍,需要的朋友可以参考下
    2013-07-07
  • 让js弹出窗口居前显示的实现方法

    让js弹出窗口居前显示的实现方法

    一般来说,显示在最前面的窗口都是因为窗口被激活获得焦点,要使窗口永远显示在最前面,可以人为的设置窗口在blur时立刻focus,或者用模式、无模式对话框实现
    2013-07-07
  • 详解JavaScript中的before-after-hook钩子函数

    详解JavaScript中的before-after-hook钩子函数

    最近看别人的代码,接触到一个插件,before-after-hook,百度搜一圈也没有看到什么地方有教程,本文就来简单介绍一下这个插件的使用方法,需要的可以参考一下
    2022-12-12
  • 微信小程序可滑动月日历组件使用详解

    微信小程序可滑动月日历组件使用详解

    这篇文章主要为大家详细介绍了微信小程序可滑动月日历组件的使用方法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • 基于ajax实现上传图片代码示例解析

    基于ajax实现上传图片代码示例解析

    这篇文章主要介绍了基于ajax实现上传图片代码示例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-12-12

最新评论