從尾到頭打印鏈表
輸入一個(gè)鏈表,從尾到頭打印鏈表每個(gè)節(jié)點(diǎn)的值。
思路:先將鏈表每個(gè)結(jié)點(diǎn)的值存入數(shù)組中,然后通過數(shù)組的reverse方法,即可從尾到頭打印。
function ListNode(x){ this.val = x; this.next = null; } function printListFromTailToHead(head){ if(!head) { return 0; } else { let arr = new Array(); let cur = head; while(cur) { arr.push(cur.val); cur = cur.next; } return arr.reverse(); } } let node1 = new ListNode(1); let node2 = new ListNode(2); let node3 = new ListNode(3); node1.next = node2; node2.next = node3; console.log(printListFromTailToHead(node1));
這里需要反向打印鏈表,于是很自然的可以想到用遞歸來實(shí)現(xiàn)。要實(shí)現(xiàn)反過來輸出鏈表,我們每次訪問到一個(gè)節(jié)點(diǎn)的時(shí)候,先遞歸輸出它后面的節(jié)點(diǎn),再輸出該節(jié)點(diǎn)自身,這樣鏈表的輸出結(jié)果就反過來了。
function printListFromTailToHead(head) { if(head !== null) { printListFromTailToHead(head.next); console.log(head.val); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/107474.html
摘要:本系列所有文章第一篇文章學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之棧與隊(duì)列第二篇文章學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之鏈表第三篇文章學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之集合第四篇文章學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之字典和散列表第五篇文章學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之二叉搜索樹簡(jiǎn)單介紹鏈表鏈表一種常見的數(shù)據(jù)結(jié)構(gòu),可 本系列所有文章:第一篇文章:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之棧與隊(duì)列第二篇文章:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之鏈表第三篇文章:學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法之集合第四篇文章:學(xué)習(xí)數(shù)...
摘要:實(shí)現(xiàn)移除給定的元素要移除的元素返回值表示移除成功方法說明移除單向鏈表中某個(gè)位置的元素。的前端樂園原文鏈接寒假前端學(xué)習(xí)學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)與算法二鏈表 本系列的第一篇文章: 學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(一),棧與隊(duì)列第二篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(二):鏈表第三篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與算法(三):集合第四篇文章:學(xué)習(xí)JavaScript數(shù)據(jù)結(jié)構(gòu)與...
摘要:前言數(shù)據(jù)結(jié)構(gòu)與算法專題會(huì)不定時(shí)更新,歡迎各位讀者監(jiān)督。指針反轉(zhuǎn)實(shí)現(xiàn)鏈表反轉(zhuǎn)代碼反轉(zhuǎn)鏈表獲取當(dāng)前下下個(gè)元素測(cè)試代碼部分用到了上篇文章數(shù)據(jù)結(jié)構(gòu)與算法鏈表的代碼段,請(qǐng)移步獲取。 聲明:碼字不易,轉(zhuǎn)載請(qǐng)注明出處,歡迎文章下方討論交流。 前言:Java數(shù)據(jù)結(jié)構(gòu)與算法專題會(huì)不定時(shí)更新,歡迎各位讀者監(jiān)督。本文是上篇文章Java數(shù)據(jù)結(jié)構(gòu)與算法——鏈表的擴(kuò)展篇,介紹鏈表的特點(diǎn),使用場(chǎng)景、鏈表的性能分析以...
摘要:上一篇數(shù)據(jù)結(jié)構(gòu)與算法棧隊(duì)列下一篇數(shù)據(jù)結(jié)構(gòu)與算法集合字典寫在前面說明數(shù)據(jù)結(jié)構(gòu)與算法系列文章的代碼和示例均可在此找到上一篇博客發(fā)布以后,僅幾天的時(shí)間竟然成為了我寫博客以來點(diǎn)贊數(shù)最多的一篇博客。 上一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_棧&隊(duì)列下一篇:JS數(shù)據(jù)結(jié)構(gòu)與算法_集合&字典 寫在前面 說明:JS數(shù)據(jù)結(jié)構(gòu)與算法 系列文章的代碼和示例均可在此找到 上一篇博客發(fā)布以后,僅幾天的時(shí)間竟然成為了我寫博客以...
摘要:鏈表前端的面試中,鏈表還是經(jīng)常會(huì)被問到。這種數(shù)據(jù)結(jié)構(gòu)非常方便,提供了便利店語(yǔ)法來訪問它的元素。參考書籍推薦一個(gè)找組件的輪子工廠前端面試總結(jié)數(shù)據(jù)結(jié)構(gòu)與算法一前端面試總結(jié)數(shù)據(jù)結(jié)構(gòu)與算法二前端面試總結(jié)數(shù)據(jù)結(jié)構(gòu)與算法三 鏈表 前端的面試中,鏈表還是經(jīng)常會(huì)被問到。所以熟悉鏈表的結(jié)果以及鏈表操作的方法還是很重要的。說道存儲(chǔ)多個(gè)元素,數(shù)組可能是最常用的數(shù)據(jù)結(jié)構(gòu)。這種數(shù)據(jù)結(jié)構(gòu)非常方便,提供了便利店[]...
摘要:前言數(shù)據(jù)結(jié)構(gòu)與算法專題會(huì)不定時(shí)更新,歡迎各位讀者監(jiān)督。本文介紹另一種數(shù)據(jù)結(jié)構(gòu)鏈表,包括鏈表的特點(diǎn)特點(diǎn)鏈表的創(chuàng)建刪除插入和輸出,文末給出代碼和一道常見的關(guān)于鏈表的面試題。 聲明:碼字不易,轉(zhuǎn)載請(qǐng)注明出處,歡迎文章下方討論交流。 前言:Java數(shù)據(jù)結(jié)構(gòu)與算法專題會(huì)不定時(shí)更新,歡迎各位讀者監(jiān)督。本文介紹另一種數(shù)據(jù)結(jié)構(gòu)——鏈表,包括鏈表的特點(diǎn)特點(diǎn)、鏈表的創(chuàng)建、刪除、插入和輸出,文末給出java...
閱讀 3262·2021-10-21 17:50
閱讀 3268·2021-10-08 10:05
閱讀 3404·2021-09-22 15:04
閱讀 594·2019-08-30 14:00
閱讀 1970·2019-08-29 17:01
閱讀 1520·2019-08-29 15:16
閱讀 3230·2019-08-26 13:25
閱讀 863·2019-08-26 11:44