/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> list=new ArrayList<>();
//如果链表为空,直接返回list
if(listNode==null){
return list;
}
ListNode node=listNode;
ListNode temp;
//创建新的链表
ListNode node2=new ListNode(0);
while(node!=null){
//头插法
temp=new ListNode(node.val);
temp.next=node2.next;
node2.next=temp;
node=node.next;
}
//遍历链表
node2=node2.next;
while(node2!=null){
list.add(node2.val);
node2=node2.next;
}
return list;
}
}输入一个链表,从尾到头打印链表每个节点的值。
最新推荐文章于 2019-08-26 17:17:06 发布
本文介绍了一种使用Java实现从尾到头打印链表的方法。通过创建新的链表并采用头插法,使得新链表的顺序即为原链表的逆序。最后遍历新链表并将节点值存入ArrayList中返回。
2229

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



