欢乐力扣:反转链表

打印 上一主题 下一主题

主题 962|帖子 962|积分 2886


1、标题形貌

 反转链表。
 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2、思路

 借助cur指针和pre双指针来调整链表的前后指向。
  1. # Definition for singly-linked list.
  2. # class ListNode:
  3. #     def __init__(self, val=0, next=None):
  4. #         self.val = val
  5. #         self.next = next
  6. class Solution:
  7.     def reverseList(self, head: Optional[ListNode]) -> Optional[ListNode]:
  8.         # 反转链表
  9.         cur = head
  10.         pre = None
  11.         while cur:
  12.             tmp = cur.next   # step2: 考虑到先存储后续节点
  13.             cur.next = pre   # step1: 关键:修改指向
  14.             pre = cur        # step3: 在cur变更之前,你得先调整pre的节点
  15.             cur = tmp        # step4: 将tmp更新cur节点
  16.         return pre           # 此时cur已经指向了None
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

不到断气不罢休

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表