首页 > 其他分享 >代码随想录 小结02 链表

代码随想录 小结02 链表

时间:2023-12-31 22:46:19浏览次数:36  
标签:02 快慢 随想录 相遇 链表 这题 节点 指针

第一题 移除链表元素
这题比较简单
使用dummyHead的方式会比较简单 不需要对头指针进行单独处理
但是空间开销会大一些

第二题 设计链表类
这个没什么好说的
感觉有可能一些细节会忘记
需要经常复习的一块

第三题 反转链表

这题难度不大 用一个tmp指针存储一下当前指针的next 然后直接反转就可以了
遍历和递归写法区别不大 递归不懂先看一下遍历代码就明白了

第四题 两两交换链表中的节点

这题需要画图才能比较清晰的写出代码 因为涉及到四个节点 需要两个tmp指针进行存储节点
画图之后难度应该不大

第五题 删除链表中的倒数第n个节点

这题主要利用两个指针一快一慢遍历整条链 当快指针到达链表尾部时 快指针正好在目标节点上 快慢指针本来是应该间隔n个节点
但是我们需要当前节点的父节点进行当前的节点的删除 所以我们需要慢指针停在当前节点的父节点 因此快慢指针应该间隔n+1个节点

第六题 链表相交

先计算两条链表的长度差 根据这个差让长链的指针前进相应的值 此时
这两个链表的指针距离相交位置是一样的
或者根本就不相交
然后让两个指针一起移动 走一步判断一次彼此是否相等
注意 这题不是问数值是否相等 而是指针是否相等

第七题 环形链表

这题需要有点记忆 知道利用快慢指针是否在链表相遇判断是否有环
然后快慢指针相差1的相对速度进入环 一定能够相遇(相对速度k的情况比较复杂,而且相遇时间可能变长)
最后根据数学式子推导 结论是当快指针从相遇节点出发和一个从头节点出发的指针相遇时 他们相遇的位置就是环的入口

标签:02,快慢,随想录,相遇,链表,这题,节点,指针
From: https://www.cnblogs.com/mingtiao/p/17938164

相关文章

  • 解决方案 | VS2022 + AutoCAD2024 + ObjectARX2024环境搭建过程
    一、准备工具1.vs2022自行网络搜索,各种版本均可(比如专业版、社区版),注意使用社区版必须使用最新版,目前是17.8版本,否则最终会无法使用样板。2.cad2024 自行网络搜索3.ObjectARX2024SDK和 ObjectARX2024 Wizard  3.1给出 ObjectARX2024SDK的下载地址:https://damasset......
  • 2023-2024-1 20231423《计算机基础与程序设计》第十四周学习总结
    作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2022-2023-1计算机基础与程序设计第十四周作业这个作业的目标《C语言程序设计》第十三章《C语言程序设计》二进制文件和文本文件二进制文件是一种字节序列,没有字符变换,其中的......
  • P9753 [CSP-S 2023] 消消乐 题解
    这里是被说烂了的随机化线性做法。相信大家都已经做过QOJ6504,因此我们考虑采用类似的办法通过此题。我们对每个字符随机一个\(k\timesk\)的矩阵,并求出其矩阵的逆。然后,我们在偶数位放原矩阵,在奇数位放逆矩阵,这样,一段区间合法当且仅当这段区间的矩阵积为单位矩阵\(I\),原因......
  • 代码随想录算法训练营第十八天 | 513.找树左下角的值,112. 路径总和,113.路径总和ii,106.
    一、513.找树左下角的值题目链接:LeetCode513.找树左下角的值学习前:思路:层序遍历。采用递归和迭代两种方式递归:定义最大深度和目标值两个成员变量,方法参数是结点和当前结点的深度;返回类型为void;终止条件为结点为空;单次循环内容为判断该节点是否符合目标要求,且分别传入左子......
  • 学期2023-2024-1 20231409 《计算机基础与程序设计》第十四周学习总结
    学期2023-2024-120231409《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标《C语言程序设计》第13章并完成云班课测试作......
  • 2023-2024-1 20231413 《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231413《计算机基础与程序设计》第十四周学习总结1.作业信息班级:2023-2024-1-计算机基础与程序设计作业要求:2023-2024-1《计算机基础与程序设计》教学进程目标:自学教材:《C语言程序设计》第14章并完成云班课测试作业正文:https://www.cnblogs.com/Kaifazheju......
  • 2023-2024-1 20231410《计算机基础与程序设计》第14周学习总结
    2023-2024-120231410《计算机基础与程序设计》第14周学习总结作业信息这个作业属于哪个课程(https://edu.cnblogs.com/campus/besti/2023-2024-1-CFAP)这个作业要求在哪里(https://www.cnblogs.com/rocedu/p/9577842.html#WEEK13)这个作业的目标自学教材《C语言程......
  • 代码随想录 小结01 数组
    数组篇一共有五个题目第一题二分查找值得注意的是,要自己想好区间的边界到底是写左闭右开还是左闭右闭根据边界不同while的条件和左右指针的移动会有差别目前我的习惯是写左闭右开还是固定一下习惯比较好第二题是实现数组类的erase()使用快慢指针可以做到在数组原地进......
  • 2023-2024-1 20231309 《计算机基础与程序设计》第十四周学习总结
    2023-2024-120231309《计算机基础与程序设计》第十四周学习总结作业信息这个作业属于哪个课程2023-2024-1-计算机基础与程序设计这个作业要求在哪里2023-2024-1计算机基础与程序设计第十四周作业这个作业的目标自学教材《C语言程序设计》第13章并完成云班课测......
  • wustctf2020_getshell
    wustctf2020_getshellret2shell在vulnerable函数中存在溢出漏洞shell函数中已经预留了后门溢出->跳转到后门函数frompwnimport*context.log_level='debug'elf=ELF('wustctf2020_getshell')io=process('wustctf2020_getshell')payload=b'A�......