剑指offer—从尾到头打印链表 解答

剑指offer—从尾到头打印链表

题目描述

输入一个链表,给出链表的头结点,从链表尾到链表头的顺序输出一个ArrayList

思路

遍历链表指定添加元素到ArrayList头部

  • 关键:ArrayListadd(int index,Object obj)方法

代码

/**
*    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<>();
        //拿到尾节点
        while(listNode!=null){
            list.add(0,listNode.val);
            listNode = listNode.next;
        }
        return list==null?new ArrayList():list;
    }
}