数据结构之Queue | 让我们一块来学习数据结构 (2)

QQ20210426-202023@2x.png

实际应用-->回文字符串的判断

回文是指这样一种现象:一个单词、短语或数字,从前往后写和从后往前写都是一样的。 比如,单词“dad”、“racecar”就是回文;如果忽略空格和标点符号,下面这个句子也是回 文,“A man, a plan, a canal: Panama”;数字 1001 也是回文。

在之前的文章中是使用栈(Stack)这一数据结构,其实回文字符串字号的判断方法是使用双端队列(Deque)来实现。

function isPalindrome(word) { if (typeof word !== "string") { throw TypeError(`参数不是string类型`); } let tmp = new Deque(); for (let element of word) { tmp.addBack(element); } while (tmp.length() > 1) { if (tmp.removeFront() !== tmp.removeBack()) { return false; } } return true; } console.log(isPalindrome("racecar")) // true console.log(isPalindrome("hello")) // false 参考资料

数据结构与算法JavaScript描述

学习JavaScript数据结构与算法 第3版

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpyzgy.html