请实现反向reverse一个单向链表编程
时间: 2024-02-24 18:55:24 浏览: 106
python 反向输出一个链表(示例)
以下是Python的实现代码:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(head: ListNode) -> ListNode:
prev = None
curr = head
while curr:
next_node = curr.next
curr.next = prev
prev = curr
curr = next_node
return prev
```
其中,ListNode是单向链表的节点定义,val表示节点的值,next表示指向下一个节点的指针。reverseList函数接受一个链表的头节点head,返回反转后的链表头节点。具体实现过程如下:
1. 定义两个指针prev和curr,初始值分别为None和head。
2. 从头节点开始遍历链表,每次迭代将当前节点的next指针指向上一个节点prev,然后将prev指针指向当前节点,将curr指针指向下一个节点。
3. 遍历结束后,prev指针指向原链表的尾节点,即反转后的头节点。
4. 返回prev指针。
阅读全文