题目描述:
从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头
解题思路:
1、遍历listnode赋值给ArrayList
2.ArrayList倒序输出,可以从长度的二分之一出,前面的赋值给末尾,前后索引逐步向中间靠拢
从尾到头打印链表
输入一个链表,从尾到头打印链表每个节点的值。
输入描述:
输入为链表的表头
输出描述:
输出为需要打印的“新链表”的表头
解题思路:
1、遍历listnode赋值给ArrayList
2.ArrayList倒序输出,可以从长度的二分之一出,前面的赋值给末尾,前后索引逐步向中间靠拢
java实现
/**
* 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> al=new ArrayList();
ListNode temp=listNode;
while(temp!=null)
{
al.add(temp.val);
temp=temp.next;
}
for(int i=0;i<al.size()/2;i++)
{
int a=al.get(i);
al.set(i,al.get(al.size()-1-i));
al.set(al.size()-1-i,a);
}
return al;
}
}