题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
想到了一个递归的思路:递归找到尾节点,每次迭代时,将下一个节点指向上一个节点
class Solution:
def reverse_list_node(self, head: ListNode) -> ListNode
res = self.recursive_exchange(head, None)
return res
def recursive_exchange(head: ListNode, pre_head: ListNode) -> ListNode
if head:
post_head = head.next
head.next = pre_head
pre_head = head
self.recursive_exchange(post_head, pre_head)
else:
head = pre_head if pre_head else head
return head