题目
解法
递归
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
if not head or not head.next:
return head
new_head = self.reverseList(head.next)
head.next.next = head
head.next = None # 这个一定要有 否则会死循环
return new_head
``
## 三个指针
```python
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
if not head or not head.next: return head
pre = None
p = head
q = head.next
while q:
p.next = pre
pre = p
p = q
q = q.next
p.next = pre
return p