/**
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
import java.util.List;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> temp = new ArrayList<Integer>();
ArrayList<Integer> result = new ArrayList<Integer>();
ListNode tempNode = listNode;
if(listNode!=null){
while(tempNode!=null){
temp.add(tempNode.val);
tempNode = tempNode.next;
}
}
if(temp.size()>0){
for(int i = temp.size()-1;i>=0;i--){
result.add(temp.get(i));
}
}
return result;
* public class ListNode {
* int val;
* ListNode next = null;
*
* ListNode(int val) {
* this.val = val;
* }
* }
*
*/
import java.util.ArrayList;
import java.util.List;
public class Solution {
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> temp = new ArrayList<Integer>();
ArrayList<Integer> result = new ArrayList<Integer>();
ListNode tempNode = listNode;
if(listNode!=null){
while(tempNode!=null){
temp.add(tempNode.val);
tempNode = tempNode.next;
}
}
if(temp.size()>0){
for(int i = temp.size()-1;i>=0;i--){
result.add(temp.get(i));
}
}
return result;
}
//链表赋值
public ListNode initList(){
ListNode headNode = new ListNode(0);
ListNode temp = null;
for(int i = 1 ;i<5;i++){
if(i==1){
headNode.next = new ListNode(i);
temp = headNode.next;
}else{
temp.next = new ListNode(i);
temp = temp.next;
}
}
return headNode;
}
本文介绍了一种使用Java实现从尾到头打印链表的方法。通过先正向遍历链表收集节点值,再逆序输出这些值的方式,实现了逆序打印链表的功能。文章包含完整的代码示例。

1068

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



