递归反转链表,还有迭代?? 代码待补充
# 自己写的
# class ListNode:
# def __init__(self, val=0, next=None):
# self.val = val
# self.next = next
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
if not head:
return None
self.reverse_li = None
node = self.reverse(head)
# 注意这里有个坑 一定要把尾巴断干净
node.next = None
return self.reverse_li
def reverse(self, node):
if not node.next:
self.reverse_li = node
return node
next_node = self.reverse(node.next)
next_node.next = node
return node