JS使用棧判斷給定字符串是否是回文算法示例
本文實(shí)例講述了JS使用棧判斷給定字符串是否是回文算法。分享給大家供大家參考,具體如下:
/*使用棧stack類的實(shí)現(xiàn)*/
function stack() {
this.dataStore = [];//保存棧內(nèi)元素,初始化為一個(gè)空數(shù)組
this.top = 0;//棧頂位置,初始化為0
this.push = push;//入棧
this.pop = pop;//出棧
this.peek = peek;//查看棧頂元素
this.clear = clear;//清空棧
this.length = length;//棧內(nèi)存放元素的個(gè)數(shù)
}
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代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運(yùn)行結(jié)果:

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》、《JavaScript排序算法總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》及《JavaScript錯(cuò)誤與調(diào)試技巧總結(jié)》
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。
- JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之棧與隊(duì)列
- JavaScript中數(shù)據(jù)結(jié)構(gòu)與算法(一):棧
- JavaScript數(shù)據(jù)結(jié)構(gòu)與算法之棧詳解
- js如何找出字符串中的最長回文串
- javascript基礎(chǔ)練習(xí)之翻轉(zhuǎn)字符串與回文
- javascript判斷回文數(shù)詳解及實(shí)現(xiàn)代碼
- js-FCC算法-No repeats please字符串的全排列(詳解)
- js實(shí)現(xiàn)字符全排列算法的簡單方法
- 淺談js中字符和數(shù)組一些基本算法題
相關(guān)文章
Vue3中使用typescript封裝axios的實(shí)例詳解
這篇文章主要介紹了使用typescript封裝axios的實(shí)例代碼,為了方便,在vue3的配置里面按需加載element-plus,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2021-10-10
uniapp獲取當(dāng)前位置及檢測授權(quán)狀態(tài)效果
這篇文章主要介紹了uniapp獲取當(dāng)前位置及檢測授權(quán)狀態(tài)效果,本文通過示例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-04-04
JS中的oninput和onchange事件的區(qū)別及如何正確使用
在JavaScript中,oninput和onchange事件是用于處理用戶輸入的常見事件,本文將介紹oninput和onchange事件的區(qū)別,以及如何在實(shí)際開發(fā)中正確使用它們,感興趣的朋友跟隨小編一起看看吧2023-10-10
JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼
這篇文章主要介紹了JavaScript中l(wèi)ayim之整合右鍵菜單的示例代碼,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02
利用bootstrapValidator驗(yàn)證UEditor
這篇文章主要為大家詳細(xì)介紹了利用bootstrapValidator驗(yàn)證UEditor,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
基于BootStrap實(shí)現(xiàn)簡潔注冊(cè)界面
這篇文章主要介紹了基于BootStrap實(shí)現(xiàn)簡潔注冊(cè)界面,需要的朋友可以參考下2017-07-07

