题目描述:从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2] 输出:[2,3,1]
两种写法及结果
通过的写法:
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public int[] reversePrint(ListNode head) {
Stack <Integer> tem= new Stack<>();
ListNode l= head;
while(l!= null){
tem.push(l.val);
l= l.next;
}
int[] res= new int[tem.size()];
int c= 0;
while(!tem.empty()) {
res[c++]= tem.pop();
}
return res;
}
}
/**
* Definition for singly-linked list.
* public class ListNode {
* int val;
* ListNode next;
* ListNode(int x) { val = x; }
* }
*/
class Solution {
public int[] reversePrint(ListNode head) {
Stack <Integer> tem= new Stack<>();
// ListNode l= head;
while(head.next!= null){
tem.push(head.next.val);
head= head.next;
}
int[] res= new int[tem.size()];
int c= 0;
while(!tem.empty()) {
res[c++]= tem.pop();
}
return res;
}
}