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实现从尾到头打印链表每个节点的值
最新推荐文章于 2022-05-27 18:02:31 发布