力扣题目链接(opens new window) 题意:反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL class ListNode: def __init__(self, val=0, next=None): self.val = val self.next = next class Solution: def reverseList(self, head: ListNode) -> ListNode: # 定义一个cur指针,指向头结点 cur = head # 定义一个pre指针,初始化为null pre = None # cur 指针已经指向了null,循环结束 while(cur != None): # 反转前,把 cur->next 节点用tmp指针保存一下,也就是保存一下这个节点 # 保存一下 cur的下一个节点,因为接下来要改变cur->next temp = cur.next # 反转 cur.next = pre # 更新pre、cur指针 pre = cur cur = temp # return pre指针就可以了,pre指针就指向了新的头结点 return pre
代码随想录
https://programmercarl.com/0206.%E7%BF%BB%E8%BD%AC%E9%93%BE%E8%A1%A8.html#%E5%8F%8C%E6%8C%87%E9%92%88%E6%B3%95
浙公网安备 33010602011771号