带头节点的单链表逆置
时间: 2024-10-08 15:01:54 浏览: 38
单链表逆置
带头节点的单链表逆置是一种常见的数据结构操作,它的目的是将链表的每个节点与其后续节点的关系反转。在带头节点的单链表中,通常有一个额外的头结点作为链表的第一个元素,而其他节点的next指针是指向下一个元素的。
逆置过程可以分为以下几个步骤:
1. 定义三个指针,当前节点(current)、前一个节点(prev)和临时节点(temp),初始时,prev、current都指向头节点,而temp为空。
2. 当current不为空时,做循环操作:
a. 将current的next节点赋值给temp,即temp = current.next。
b. 更新current的next指针,使其指向prev,即current.next = prev。
c. 进行移动,prev = current,current = temp。
3. 循环结束后,prev就是新的头节点,因为最后一次迭代current已经指向null了。
以下是伪代码示例:
```python
def reverseList(head):
if not head or not head.next:
return head
prev = None
curr = head
while curr:
next_temp = curr.next
curr.next = prev
prev = curr
curr = next_temp
return prev # 新的头节点
```
阅读全文