帮我生成一个单链表倒置的代码
时间: 2024-09-20 10:13:51 浏览: 42
在Python中,你可以使用递归的方式来反转一个单链表。这里是一个简单的例子:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(head):
if head is None or head.next is None:
# 如果链表为空或者只有一个元素,直接返回
return head
# 使用三个指针,prev指向当前节点,current指向下一个节点,next指向当前节点的下一个
prev = None
current = head
next_node = current.next
# 更新指针直到current为空
while next_node is not None:
# 保存下一个节点
temp = next_node.next
# 反转节点的链接
next_node.next = prev
# 移动指针向前
prev = next_node
next_node = temp
# 返回新的头节点,即原来的尾节点
return prev
```
这个函数首先检查链表是否为空,然后通过迭代过程不断调整节点的`next`指针,使其指向前一个节点,最终达到反转的效果。
阅读全文