剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)
方法一:栈
/**
* 从尾到头打印链表
* 栈
* @param head
* @return
*/
public int[] reversePrint (ListNode head) {
Stack<Integer> stack = new Stack<>();
while (head != null) {
stack.push(head.val);
head = head.next;
}
int[] nums = new int[stack.size()];
for (int i = 0; i < nums.length; i++) {
nums[i] = stack.pop();
}
return nums;
}
方法二:递归
public void reversePrintOut (ListNode head) {
while (head != null) {
reversePrintOut(head.next);
System.out.println(head.val + " ");
}
}
本文介绍了两种方法解决剑指 Offer 06 题目,即如何从尾到头地打印链表的节点值。方法一是利用栈进行逆序输出,方法二是通过递归实现。

769

被折叠的 条评论
为什么被折叠?



