链表中head指针和pre指针
时间: 2024-03-03 18:45:00 浏览: 156
关于链表 指针
head指针和pre指针是在链表操作中常用的两个指针。
head指针通常用来指向链表的第一个节点,它可以帮助我们遍历整个链表。通过不断将head指针指向下一个节点,我们可以依次访问链表中的每个节点。
pre指针(或者称为prev指针)通常用来指向当前节点的前一个节点。在链表反转的操作中,我们可以使用pre指针来改变节点之间的指向关系,从而实现链表的反转。
下面是一个使用双指针实现链表反转的示例代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(head):
pre = None
while head:
next_node = head.next
head.next = pre
pre = head
head = next_node
return pre
# 创建一个链表:1 -> 2 -> 3 -> 4 -> 5
head = ListNode(1)
head.next = ListNode(2)
head.next.next = ListNode(3)
head.next.next.next = ListNode(4)
head.next.next.next.next = ListNode(5)
# 反转链表
new_head = reverseList(head)
# 输出反转后的链表
while new_head:
print(new_head.val)
new_head = new_head.next
```
输出结果为:
```
5
4
3
2
1
```
阅读全文