数据结构单链表的逆序
时间: 2024-09-30 11:04:55 浏览: 33
数据结构中的单链表逆序是指将链表中的元素顺序翻转过来。原链表通常是前一个节点指向下一个节点的顺序,而在逆序后的链表中,每个节点会指向前一个节点。这是通过遍历链表并更新节点指针来完成的,通常我们会用到三个指针:一个用于当前节点,一个用于前一个节点,另一个用于保存下一個节点。以下是递归和迭代两种常见方法:
**递归方法(Python示例):**
```python
def reverseList(head):
if not head or not head.next:
return head
new_head = reverseList(head.next) # 递归找到尾部
head.next.next = head # 将尾部连接到头部
head.next = None # 更新头节点的next指向None
return new_head
```
**迭代方法(Python示例):**
```python
def reverse_list_iteratively(node):
prev = None
current = node
while current:
next_node = current.next
current.next = prev
prev = current
current = next_node
return prev # 新的头节点就是原来的尾节点
```
阅读全文