[剑指Offer]从尾到头打印链表

题目链接

https://www.nowcoder.com/practice/d0267f7f55b3412ba93bd35cfa8e8035?tpId=13&tqId=11156&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

题解

法一:借助栈。
法二:利用递归,相当于借助栈。在已知当前的节点引用,总是考虑先输出下一个节点的值。
法三:先利用pre、cur、next三个变量翻转链表,再输出。剑指Offer有另一道翻转的题目。

代码(法二:递归)

public ArrayList<Integer> printListFromTailToHead(ListNode listNode) {
		ArrayList<Integer> arrList=new ArrayList<>();
		if(listNode==null) {
			return arrList;
		}
		if(listNode.next==null) {
			arrList.add(listNode.val);
			return arrList;
		}
		arrList=printListFromTailToHead(listNode.next);
		arrList.add(listNode.val);
		return arrList;
	}

参考链接
https://blog.csdn.net/qq_40400960/article/details/81810580

原文地址:https://www.cnblogs.com/coding-gaga/p/10924606.html