從尾到頭打印鏈表
題目描述
輸入一個(gè)鏈表搀擂,從尾到頭打印鏈表每個(gè)節(jié)點(diǎn)的值
代碼如下
/*function ListNode(x){
this.val = x;
this.next = null;
}*/
function printListFromTailToHead(head)
{
var res = [];
while(head){
res.unshift(head.val);
head = head.next;
}
return res;
// write code here
}
module.exports = {
printListFromTailToHead : printListFromTailToHead
};
解題思路
鏈表是一種物理存儲(chǔ)單元上非連續(xù)私痹、非順序的存儲(chǔ)結(jié)構(gòu)晨川,數(shù)據(jù)元素的邏輯順序是通過(guò)鏈表中的指針鏈接次序?qū)崿F(xiàn)的返十。鏈表由一系列結(jié)點(diǎn)(鏈表中每一個(gè)元素稱為結(jié)點(diǎn))組成策肝,結(jié)點(diǎn)可以在運(yùn)行時(shí)動(dòng)態(tài)生成肛捍。每個(gè)結(jié)點(diǎn)包括兩個(gè)部分:一個(gè)是存儲(chǔ)數(shù)據(jù)元素的數(shù)據(jù)域,另一個(gè)是存儲(chǔ)下一個(gè)結(jié)點(diǎn)地址的指針域之众。用unshift
的方法將鏈表中從頭到尾的節(jié)點(diǎn)中的數(shù)據(jù)插入到```res···數(shù)組的前部拙毫,達(dá)到逆序輸出的效果。