python 链表反转-迭代
时间: 2025-01-16 19:11:47 浏览: 51
Python 中链表反转通常通过迭代的方式实现,因为链表本身就是逐节点前进的数据结构,所以遍历过程很适合用来操作。以下是使用迭代法实现单向链表反转的步骤:
1. 创建三个指针:`prev` 用于存储当前节点的前一个节点,初始时为 `None`;`current` 用于指向当前节点,从头节点开始遍历;`next_temp` 用于暂存 `current` 的下一个节点。
2. 循环遍历链表,直到 `current` 为 `None`:
- 将 `current` 的 `next` 节点赋值给 `next_temp`;
- 更新 `current` 的 `next` 指向 `prev`,完成一次反转;
- 将 `prev` 和 `current` 向后移动一位,即 `prev = current`, `current = next_temp`。
3. 当循环结束时,`prev` 就指向了原链表的尾部,因此将其设为新链表的头节点。
下面是一个简单的 Python 示例代码实现:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverse_list_iterative(head):
prev = None
current = head
while current is not None:
next_temp = current.next
current.next = prev
prev = current
current = next_temp
return prev
```
阅读全文
相关推荐

















