版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/AustinBoris/article/details/79844168
题目描述
输入一个链表,从尾到头打印链表每个节点的值
要求
时间限制:1秒 空间限制:32768K
参数类型
//链表节点
public class ListNode {
int val;
ListNode next = null;
ListNode(int val) {
this.val = val;
}
}
实现思路
先遍历链表,获取节点的值并存放在list中,然后将list反转。
public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
ArrayList<Integer> arrayList = new ArrayList<Integer>();
ArrayList<Integer> result = new ArrayList<Integer>();
if (listNode!=null){
//遍历链表
do{
arrayList.add(new Integer(listNode.val));
listNode = listNode.next;
}while(listNode!=null);
//反转list
for (int i = arrayList.size()-1;i>=0;i--){
result.add(arrayList.get(i));
}
}
return result;
}