题目描述
输入一个链表,反转链表后,输出新链表的表头。
思路:
开始head指向第一个节点 – 递归到倒数第二个节点 – 然后改变节点的方向 – 找到递归的出口,反方向回来
def reverse_list(self, head):
if head is None or head.next is None: # 递归结束条件
return head
else:
ans = self.reverse_list(head.next) # 递归下一个结点 到 倒数第二个结点
head.next.next = head # 最后一个结点指向倒数第二个结点
head.next = None # 最后一结点的指针域赋值为空
return ans