剑指 Offer 06. 从尾到头打印链表
题目:
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
限制:
0 <= 链表长度 <= 10000
思路:
1.没有多想,直接倒序插入值到数组中
2.先进后出,直接使用Stack
题解:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public int[] reversePrint(ListNode head) {
if(head == null) return new int[0];
int count = 1;
ListNode first = head;
int[] a = new int[count];
for (int i = a.length -1; i >= 0; i--) {
a[i] = first.val;
first = first.next;
}
return a;
}
}