《代码随想录》学习笔记,原链接:代码随想录
class Solution:
def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
pre, cur = None, head # 初始化双指针
while cur is not None:
temp = cur.next # 临时记录
cur.next = pre # 交换指向
pre, cur = cur, temp # 往后移动一位
return pre # 经过演算,循环结束后,pre指向新的head
【注】
- 需要使用temp来临时记录cur.next的节点,使得交换pre和cur的指向后,cur可以正常向后遍历
- # 经过演算,循环结束后,pre指向新的head