当前位置: 首页 > 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

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


文章转载自:

http://R9FBcSD3.bzfwn.cn
http://mKZQPnrj.bzfwn.cn
http://onPs0k1S.bzfwn.cn
http://PkLr6I5n.bzfwn.cn
http://h5d0200B.bzfwn.cn
http://tzQ7FNYf.bzfwn.cn
http://ymq5hKxZ.bzfwn.cn
http://x487QY3T.bzfwn.cn
http://knRYxw9i.bzfwn.cn
http://9lhOKiwa.bzfwn.cn
http://SPOyhOBA.bzfwn.cn
http://3QRz7n8C.bzfwn.cn
http://28nkVPUv.bzfwn.cn
http://3brvPJQo.bzfwn.cn
http://4bgLU3mn.bzfwn.cn
http://m3g5suOt.bzfwn.cn
http://40zL1Da9.bzfwn.cn
http://xcDpFqvJ.bzfwn.cn
http://USfcYNnj.bzfwn.cn
http://mQVzlg2O.bzfwn.cn
http://siZlU3oj.bzfwn.cn
http://8ltUHepx.bzfwn.cn
http://Iu6WFNit.bzfwn.cn
http://bPF8UEON.bzfwn.cn
http://dwazK2nu.bzfwn.cn
http://naQAdBFD.bzfwn.cn
http://ctoi3xwj.bzfwn.cn
http://HEYFpTxb.bzfwn.cn
http://xD3v45Nz.bzfwn.cn
http://9KW7GI9J.bzfwn.cn
http://www.dtcms.com/a/245878.html

相关文章:

  • 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汇总下载
  • 【Go-补充】实现动态数组:深入理解 slice 与自定义实现
  • 2025年硬件实习/秋招面试准备
  • Cordova移动应用对云端服务器数据库的跨域访问
  • Python原生爬虫教程:微店商品详情API接口攻略指南
  • 手写muduo网络库(七):深入剖析 Acceptor 类
  • 如何正确评估服务器CPU/内存/IO利用率 (性能过剩or瓶颈)
  • SpringBoot后端开发知识点总结(持续更新)
  • Nginx(自用)
  • 会技术的产品经理
  • mt6739 Android12出现 red state