剑指 Offer 06. 从尾到头打印链表
输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。
示例 1:
输入:head = [1,3,2]
输出:[2,3,1]
递归法
解题思路:
- 利用递归: 先走至链表末端,回溯时依次将节点值加入列表 ,这样就可以实现链表值的倒序输出。
算法流程:
- 递推阶段: 每次传入
head.next
,以 head == None
(即走过链表尾部节点)为递归终止条件,此时返回空列表 []
。
- 回溯阶段: 利用 Python 语言特性,递归回溯时每次返回
当前 list + 当前节点值 [head.val]
,即可实现节点的倒序输出。