链表逆置数据结构pta
时间: 2024-11-19 15:13:43 浏览: 0
c++数据结构中链表的逆置
5星 · 资源好评率100%
链表逆置是一种常见的数据结构操作,它的目的是将一个已排序的单向链表的所有元素顺序翻转。在链表中,每个节点包含一个指向下一个节点的指针,而逆置意味着最后一个节点会变成第一个,倒数第二个节点成为倒数第一个,以此类推。
在Python中,可以使用迭代或者递归的方式实现链表逆置。下面是迭代的一种常见方法:
```python
class ListNode:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def reverseList(head):
prev = None
curr = head
while curr is not None:
next_temp = curr.next
curr.next = prev
prev = curr
curr = next_temp
return prev
```
在这个例子中,`prev` 指针开始为空,然后每次循环都将当前节点 `curr` 的 `next` 指向前一个节点 `prev`,直到遍历完整个链表。最后返回新的头节点 `prev`,它就是原链表的反向。
阅读全文