题解 | #反转链表#
反转链表
http://www.nowcoder.com/practice/75e878df47f24fdc9dc3e400ec6058ca
迭代解法:使用双指针
- 遍历链表,指针 cur 指向当前节点,指针 pre 指向 cur 的前驱节点
- 初始化 pre 和 cur
- temp 存储 cur 的后继节点
- 反转操作,cur 的后继变为前驱
- 更新 pre 和 cur,直到 cur 指向空
class Solution:
def reverseList(self, head: ListNode) -> ListNode:
pre, cur = None, head
while cur:
temp = cur.next
cur.next = pre
pre, cur = cur, temp
return pre