import java.util.ArrayList;
class ListNode
{
int val;
ListNode next = null;
ListNode(int val)
{
this.val = val;
}
}
public class Solution_lianbiao
{
ArrayList<Integer> arrayList = new ArrayList<Integer>();
public ArrayList<Integer> printListFromTailToHead(ListNode listNode)
{
/*
* Stack<Integer> stack=new Stack<Integer>();
* //队列和栈,从尾到头打印链表,离不开借助栈
* //所以,先把链表里的东西,都放到一个栈里去,然后按顺序把栈里的东西pop出来 while(listNode!=null){
* stack.push(listNode.val); listNode=listNode.next; }
*
* ArrayList<Integer> list=new ArrayList<Integer>();
* while(!stack.isEmpty()){ list.add(stack.pop()); } return list; }
*/
if (listNode != null)
{
this.printListFromTailToHead(listNode.next);
arrayList.add(listNode.val);
}
return arrayList;
}
public static void main(String[] args)
{
ListNode listNode = new ListNode(1);
listNode.next = new ListNode(3);
listNode.next.next = new ListNode(4);
listNode.next.next.next = new ListNode(0);
Solution_lianbiao s = new Solution_lianbiao();
System.out.println(s.printListFromTailToHead(listNode));
}
}
java实现从尾到头打印链表每个节点的值
最新推荐文章于 2024-06-30 16:28:48 发布
本文介绍了一种使用递归方法实现链表逆序打印的方法。通过定义一个Solution_lianbiao类,该类中包含了一个名为printListFromTailToHead的方法,此方法接受一个链表节点作为参数,并返回一个整数ArrayList,该ArrayList中的元素顺序为链表的逆序。通过递归调用自身处理链表的剩余部分,最后将当前节点的值添加到ArrayList中。
363

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



