输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
主要是顺序问题,利用栈先入后出的特性
/**
* 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];
LinkedList<Integer> stack = new LinkedList<>();
while(head != null)
{
stack.push(head.val);
head = head.next;
}
int[] ans = new int[stack.size()];
for(int i=0;i<ans.length;i++)
{
ans[i] = stack.pop();
}
return ans;
}
}
本文介绍了一种使用栈实现链表逆序打印的方法。通过遍历链表并将节点值压入栈中,再依次弹出栈中的元素,从而实现从尾到头的顺序输出链表节点值。
790

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



