当前位置: 首页 > news >正文

小黑享受思考心流躲避迷茫:92. 反转链表 II

小黑代码1:两次遍历

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]:if left==right:return head# 设置辅助头结点temp = ListNode(next=head)# 当前指针cur = temp# 计数器t = 0# 先定位left的前驱结点和right结点left_pre_node = tempright_node = headwhile cur:cur = cur.nextt += 1if t == left-1:left_pre_node = curelif t == right:right_node = curbreak# 开始逆转left_node = left_pre_node.nextpre = left_nodecur = left_node.nextaft = cur.next# 记录片段最后的结点right_aft_node = right_node.next# 逆转链表while cur!=right_aft_node:cur.next = prepre = curcur = aftif not aft:breakaft = aft.next# 处理首尾问题left_node.next = right_aft_nodeleft_pre_node.next = right_nodereturn temp.next    

在这里插入图片描述

小黑尝试穿针引线法

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]:if left==right:return head# 辅助头结点temp = ListNode(next=head)# 找到片段左边结点的前驱结点pre = tempt = 0while t<left-1:pre = pre.nextt += 1start_node = pre.nextt += 2cur = start_node.next# 开始逆转片段while t <= right:aft = cur.nexttemp2 = pre.nextpre.next = curcur.next = temp2start_node.next = aftcur = aftt += 1return temp.next

在这里插入图片描述

# Definition for singly-linked list.
# class ListNode:
#     def __init__(self, val=0, next=None):
#         self.val = val
#         self.next = next
class Solution:def reverseBetween(self, head: Optional[ListNode], left: int, right: int) -> Optional[ListNode]:if left==right:return head# 辅助头结点temp = ListNode(next=head)# 找到片段左边结点的前驱结点pre = tempt = 0while t<left-1:pre = pre.nextt += 1start_node = pre.nextt += 2# 开始逆转片段while t <= right:aft = start_node.nextstart_node.next = aft.nextaft.next = pre.nextpre.next = aftt += 1return temp.next

在这里插入图片描述
在这里插入图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述
请添加图片描述

相关文章:

  • FFmpeg 压缩视频文件
  • 中国第七次人口普查100m网格化人口数据集(Tif/分省/分市)
  • 在Windows平台上使用MinGW编译C/C++项目,常见的构建工具
  • 22、话题重名及解决方案
  • Python训练营---DAY52
  • nginx学习
  • 【threejs】每天一个小案例讲解:常见材质
  • 单链表经典算法题之分割链表
  • SPRING AI 入门
  • TCN+Transformer+SE注意力机制多分类模型 + SHAP特征重要性分析,pytorch框架
  • Docker 网络模式
  • Golang启用.exe文件无法正常运行
  • SM4 与 AES 在 GPU 上的性能比较
  • GAN+ECA注意力机制实现图像超分辨率重建
  • 第七十九篇 大数据开发基石:堆数据结构解析与生活化应用
  • Vue3 计算属性 computed
  • 在macOS上运行Linux容器的方法
  • G1周打卡——GAN入门
  • linux 中pdf 的自动分页工具
  • 专题:2025年跨境B2B采购买家行为分析及采购渠道研究报告|附160+份报告PDF汇总下载
  • 网站建设吗/手机网站百度关键词排名查询
  • 蓝色为主的网站案例/推广文章的步骤
  • 注册公司需要啥资料/官网seo是什么
  • 旅游网站简介/网络营销和推广的方法
  • 域名备案成功如何做网站/电脑培训学校能学什么
  • 微信云开发小程序/河南网站推广优化排名