逆置带表头结点的单链表算法 python
时间: 2024-05-28 15:07:14 浏览: 106
单链表逆置
逆置带头结点的单链表的算法可以通过遍历链表,将节点的next指针指向前一个节点实现。具体实现可以参考以下代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseLinkedList(head: ListNode) -> ListNode:
prev = None
curr = head.next
while curr:
nxt = curr.next
curr.next = prev
prev = curr
curr = nxt
head.next = prev
return head
```
在这个算法中,我们创建了一个虚拟头结点来简化链表逆置的实现。我们将prev初始化为None,curr初始化为头结点的下一个节点。然后,我们遍历链表,依次将curr节点的next指针指向prev,然后更新prev和curr节点。最后,我们将头结点的next指针指向逆置后的链表的头节点prev,返回头结点即可。
阅读全文