题目:输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。
之前一直对JS实现链表理解不了,被算法大牛指点了一下豁然开朗。
function ListNode(x){
this.val = x;
this.next = null;
}
在JS中,this.val代表当前节点的值,this.next指向下一个节点,若this.next为null(对象),则说明该节点为链表的最后一个节点。
PS:把下一个节点赋值给当前对象的next属性,通过这样的方式连接。
通过代码:
function printListFromTailToHead(head){
let arr = []
let start = head;
while(start){
arr.push(start.val);
start = start.next;
}
return arr.reverse();
}