本文實例講述了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}
可得如下運行結果:
希望本文所述對大家JavaScript程序設計有所幫助。
新聞熱點
疑難解答