首页 > 其他分享 >代码随想录一刷Day6--链表day1

代码随想录一刷Day6--链表day1

时间:2024-11-02 11:11:38浏览次数:5  
标签:cur Day6 随想录 next 链表 移除 节点

1.增加虚拟头节点,使头节点的移除跟别的移除统一(否则头节点需要让head指针往后移)

2.删除节点的话,注意delete

203.移除链表元素

对链表的操作有点不熟悉

ListNode* DummyHead=new ListNode(0,head);   使用new进行虚拟头节点的创建 删除tmp 删除分支时,不用让cur=cur-》next  

707.设计链表

注意index从0开始

struct,class用法生疏

移动cur的边界确定

注意统一!

cur=dummaryhead而不是dummaryhead-》next

移动到对应index:for(int i=0;i<index;i++)cur=cur->next;

 

206.反转链表

使用pre和cur双指针,还有临时存储的tmp

注意,每一个cur都要指回去,所以while终止条件为cur!=nullptr  而不是cur-》next!=nullptr

 

   

标签:cur,Day6,随想录,next,链表,移除,节点
From: https://www.cnblogs.com/wzzz-blogs/p/18519791

相关文章

  • C. DS循环链表—约瑟夫环 (Ver. I - B)
    题目描述N个人坐成一个圆环(编号为1-N),从第S个人开始报数,数到K的人出列,后面的人重新从1开始报数。问最后剩下的人的编号。例如:N=3,K=2,S=1。2号先出列,然后是1号,最后剩下的是3号。测试数据有多组,每组包括3个数N、K、S,表示有N个人,从编号为S的人开始,数到K出列。输入测......
  • 链表和数组的插入删除时间复杂度都是o(n),为什么说链表效率高
    链表和数组的插入删除时间复杂度都是o(n),链表效率高的原因:1.动态内存分配;2.插入和删除操作的局部性;3.避免数组的扩容和复制;4.无需移动大量数据;5.适用于频繁的随机插入和删除;6.简化数据结构维护。链表的节点可以在运行时动态分配内存,而数组在创建时需要分配固定大小的内存。......
  • 代码随想录|day3 链表 203.移除链表元素、707.设计链表、206.反转链表
    基础知识:代码随想录203.移除链表元素建议:本题最关键是要理解虚拟头结点的使用技巧,这个对链表题目很重要。这里主要记录用虚头的方法。即设置一个虚拟的头指针帮忙解题。先看代码:classSolution{publicListNoderemoveElements(ListNodehead,intval){ Li......
  • LeetCode23:合并K个升序链表
    原题地址:.-力扣(LeetCode)题目描述给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。示例1:输入:lists=[[1,4,5],[1,3,4],[2,6]]输出:[1,1,2,3,4,4,5,6]解释:链表数组如下:[1->4->5,1->3->4,2->6]将它们......
  • 代码随想录算法训练营第三十三天|Day33 动态规划
    62.不同路径https://programmercarl.com/0062.%E4%B8%8D%E5%90%8C%E8%B7%AF%E5%BE%84.html视频讲解:https://www.bilibili.com/video/BV1ve4y1x7Eu思路int**initDP(intm,intn){int**dp=(int**)malloc(sizeof(int*)*m);inti,j;for(i=0;i<......
  • 链表和数组的区别
    链表和数组是两种常用的数据结构,本文旨在详细比较链表和数组的区别包括:1.存储方式不同;2.内存利用不同;3.访问元素的效率不同;4.插入和删除操作的效率不同;5.内存分配的灵活性不同;6.应用场景不同。通过这些比较,读者将更深入地理解两者的特点,以及它们在不同应用场景下的最佳使用方法。......
  • 单链表题+数组题(快慢指针和左右指针)
    @目录说明:本文章用于“单链表题+数组题”“链表”知识一、案例说明(使用快慢指针)问题1.1判断链表是否有环问题1.2:已知链表有环,请返回这个环的起点位置问题1.3:寻找无环单链表的中点,要求:如果偶数个数以左面一个节点为中点问题1.4:寻找无环单链表的中点,要求:如果偶数个数以右面一个节......
  • 代码随想录刷题学习日记
    仅为个人记录复盘学习历程,解题思路来自代码随想录代码随想录刷题笔记总结网址:代码随想录404.左叶子之和计算给定二叉树的所有左叶子之和。(所有的左边的叶子节点的和)提供参数:根结点root关键思路:遍历,判断若为左叶子节点,则将值累加。主要操作:递归三要素1.返回值类型和参......
  • 02链表算法/代码随想录
    前几天忙比赛,算法停了三天,继续开刷,不能停!!二、链表2.1删除链表中的元素两种方案无哨头:要删除节点的前一个结点指向删除节点的指向节点。头节点需要单独定义有哨头:头节点不需要单独定义实战力扣203/***Definitionforsingly-linkedlist.*publicclassLis......
  • Offer68题 Day6
    面试题18.删除链表的节点/***Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode():val(0),next(nullptr){}*ListNode(intx):val(x),next(nullptr){}*ListNode(intx,ListNode*ne......