class Solution: def reverseList(self, head: ListNode) -> ListNode: if head is None or head.next is None: return head last = None # 前置节点 while head: tmp = head.next # 保存当前节点的下一个节点,不可缺,因为后面更改了当前节点的next指向 head.next = last # 更改当前节点的next为上一个节点 last = head # 将上一个节点移动到当前节点 head = tmp # 当前节点移动到下一个节点 # head.next, last, head = last, head, head.next ,简写样式,提高运行速度 return last
时间: 2023-06-19 19:07:56 浏览: 86
leetcode2-LeetCode-Class:主要是JavaScript在LeetCode上面的ListNode与TreeNode,方便各
这是一个反转链表的 Python 代码实现,使用了迭代的方式。具体来说,它使用了三个指针:head、last 和 tmp。其中,head 指向当前节点,last 指向前一个节点,tmp 指向下一个节点。在每一次循环中,先将当前节点的 next 指向前一个节点,然后将 last 移动到当前节点,head 移动到下一个节点(即 tmp)。最后返回 last,即反转后的链表的头节点。
阅读全文