首页 > 编程语言 >Day3算法练习——链表篇

Day3算法练习——链表篇

时间:2025-01-02 19:07:45浏览次数:1  
标签:结点 Day3 fast next 链表 算法 指针

反转链表

  • 用头插法即可解决,双指针就能实现原地头插法,板子题需要熟练
  • 还是要理一下,简单题不能卡

两两交换链表中的节点

  • 加上虚拟头节点会好很多
  • 指针多了,模拟起来比较麻烦,建议画图

删除链表的倒数第N个结点

  • slow指向要删的结点之前而不是要删的结点,会简单不少
  • 理清楚n个结点的距离到底要怎么处理。

链表相交

  • 难点在于从何处开始进行比较,想到了就不难
  • 注意链表的遍历会带着指针变化,后续再用指针的时候要注意是否变动

环形链表2

  • 要让fast=fast->next->next的前提条件是fast和fast->next!=nullptr,否组过不了编译
  • 入口结点纯数学题,注意数形结合,理清变量间的关系解决问题。
  • 多的(n-1)圈对最后结果无影响,结合图才好理解,所以才有这样简洁的最终代码。

标签:结点,Day3,fast,next,链表,算法,指针
From: https://www.cnblogs.com/shallowdream123/p/18648595

相关文章

  • 代码随想录算法训练营第二十二天| 77.组合、216.组合总和、17.电话号码的字母组合
    目录组合的递归思路来源:77.组合216.组合总和17.电话号码的字母组合组合的递归思路来源(核心是如何用递归实现多重循环):(1)用三重循环实现:3个数中选3个数(可重复),求所有可能 /*11111211312112212313113213321121221322122222......
  • 求单源最短路的Dijkstra算法
    请编写程序,实现在带权的有向图中求单源最短路的Dijkstra算法。注意:当多个待收录顶点路径等长时,按编号升序进行收录。输入格式:输入首先在第一行给出两个正整数,依次为当前要创建的图的顶点数n(≤100)和边数m。随后m行,每行给出一条有向边的起点编号、终点编号、权重。顶点编......
  • DL00681-基于YOLO算法的山体滑坡检测python含数据集
    山体滑坡是常见的自然灾害之一,尤其在多雨或地震活动频繁的地区,滑坡的发生往往会对人类生命财产造成严重威胁。传统的山体滑坡监测方法依赖人工巡查、地质勘探以及静态监测设备,这些手段不仅周期长、成本高,而且难以实现对滑坡灾害的及时预警。随着遥感技术和计算机视觉技术的进步,基......
  • AI 助力游戏开发中的常用算法实现
    在当今的游戏开发领域,人工智能(AI)技术的应用已经成为推动行业发展的关键力量。AI不仅能够提升游戏的智能化水平,还能够增强玩家的沉浸感和游戏体验。随着技术的进步,AI在游戏设计、开发和测试中的应用越来越广泛,从简单的NPC行为模拟到复杂的游戏世界构建,AI技术都在发挥着重要作用。......
  • 基于遗传算法优化VMD参数
    基于遗传算法优化多尺度排列熵参数,类似于粒子群算法优化参数基于遗传算法优化VMD参数程序列表基于遗传算法优化VMD参数/Code.m , 420基于遗传算法优化VMD参数/Cross.m , 1605基于遗传算法优化VMD参数/Decode.m , 1158基于遗传算法优化VMD参数/hua_fft.m , 1558基于......
  • 【算法一周目】位间流转,数字律动——洞察 C++ 位运算中的精妙与哲思
    文章目录常见位运算1.位1的个数2.比特位计数3.汉明距离4.只出现一次的数字5.只出现一次的数字III6.只出现一次的数字II7.判定字符是否唯一8.丢失的数字9.两整数之和10.只出现一次的数字II常见位运算判断一个数的二进制表示的第x位是0还是1(n>>x)&1......
  • 单链表的创建以及插入<上>
    1:此次学习参考的是b站up主【【一听就懂】C语言单链表(合集)!学完C语言还没学会写单链表吗?一节课教你有头单链表的全部知识!】https://www.bilibili.com/video/BV1Mm4y1V7Ww?vd_source=fa5bfcb2d5af224272cc17f6b40b10c3易错点2.1在 creatlist 和 creatNode 函数中,......
  • 链表操作<下>节点的删除和销毁
    注意点:1:悬空指针的处理,释放后如果要再次使用要对其指为空指针2:数据;排序可以用到冒泡排序的方法来解决/用于判断该链表是否为空boolempty(Node*list){returnlist==NULL;//链表不存再就会执行true,否则false;}voidshowList(Node*head){if(empty(h......
  • 利用Python内置函数实现的冒泡排序算法
    以下是一个使用Python内置函数实现的冒泡排序算法示例:defbubble_sort(arr):n=len(arr)foriinrange(n):forjinrange(0,n-i-1):ifarr[j]>arr[j+1]:arr[j],arr[j+1]=arr[j+1],arr[j]#测试示例......
  • day2算法刷题
    螺旋矩阵2模拟题,但边界条件真的要理清,不然很容易死循环。tle不用慌,多打断点调试即可。坚持左开右闭思想,控制变量也能解决,而且不容易乱。区间和前缀和板子题开发商购买土地前缀和的应用,不算难。链表移除链表元素递归做最简便但难想,直接写注意分情况讨论头节点和......