如何通过改链表的方法,把一个单向链表变成一个与原来链接方向相反的单向链表?
时间: 2024-11-29 08:36:08 浏览: 5
renzg#tech-document#1.1 如何实现一个高效的单向链表逆序输出?1
将一个单向链表反转是一个常见的操作,通常可以使用迭代或递归的方式实现。以下是迭代的一种常见方法:
1. 创建三个指针:当前节点(current),前一个节点(prev)和下一个节点(next)。初始化时,prev设为null,current设为链表的头节点。
2. 遍历链表:
- 当current不为null时,首先将其next节点保存到next变量中,然后更新current的next指向prev,实现了翻转链接。
- 接着,将prev和current分别向前移动一步,即prev = current,current = next。
3. 最后,当遍历完原链表后,链表的头节点就是新的头节点,因为最后一次循环中current已经指向了新的头节点。
这里是一个伪代码示例:
```python
def reverseList(head):
prev = None
current = head
while current is not None:
next_temp = current.next
current.next = prev
prev = current
current = next_temp
return prev
```
阅读全文