题目描述
知识点
链表的遍历
代码实现
1. 方法一:循环法
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {number[]}
*/
var reversePrint = function(head) {
let result = [];
while (head) {
result.push(head.val);
head = head.next;
}
return result.reverse();
};
方法2:递归法
/**
* Definition for singly-linked list.
* function ListNode(val) {
* this.val = val;
* this.next = null;
* }
*/
/**
* @param {ListNode} head
* @return {number[]}
*/
var reversePrint = function(head) {
const result = [];
const reverse = (node) => {
if (!node) {
return
} else {
reverse(node.next);
result.push(node.val)
}
}
reverse(head);
return result;
};