第一题:从尾到头打印链表
输入一个链表,按链表从尾到头的顺序返回一个 ArrayList。
// 示例1
输入:{1, 2, 3}
返回:[3, 2, 1]
// 示例2
输入:{67, 0, 24, 58}
返回:[58, 24, 0, 67]
// 定义链表的方法
function ListNode (x) {
this.val = x;
this.next = null;
}
分析:将链表的值 unshift 从头插入另一个数组里面。
function printListFromTailToHead (head) {
var arr = [], pNode = head;
while (pNode !== null) {
arr.unshift(pNode.val);
pNode = pNode.next;
}
return arr;
}
unshift()
,向数组的开头添加一个或更多元素,并返回新的长度。push()
,把一个或多个元素添加到数组的尾部。