首页 > 编程语言 >代码随想录算法训练营Day3 | 203.移除链表元素、707.设计链表、206.翻转链表

代码随想录算法训练营Day3 | 203.移除链表元素、707.设计链表、206.翻转链表

时间:2023-12-15 19:23:49浏览次数:28  
标签:代码 随想录 链表 算法 移除 cpp

这三道题都不涉及什么难以理解的算法,是对链表基础知识的一个复习巩固

对于有数据结构基础的同学来说这个没有什么难度

但是,写代码的过程中,我明显感觉到,我需要更加完善和统一的代码风格,作为一个前OIer,我的c和cpp混用的情况在基础数据结构的封装层面造成了不小的混乱!

我需要去补充cpp的内容的,或者学习学习STL的底层实现,从而使用一种更加现代和强大的cpp写法

明天考四级,昨天的博客就没怎么认真写,这一篇的话,要是时间充足就周六完善,要是时间更紧张的话,就放在周天吧!
周六上午考试,下午有牙医的预约,回来之后,还是首先完成当天的打卡吧。
这几日的内容相对来说比较轻松,等到学到二叉树那边,我就不得不投入更多的时间了!

标签:代码,随想录,链表,算法,移除,cpp
From: https://www.cnblogs.com/angelica/p/17904044.html

相关文章

  • 代码随想录算法训练营Day2 |977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵
    明天四级考试了,时间非常紧张,好在这些数组相关的算法题很久之前就做过,思路上是不存在不理解的地方的。有序数组的平方是一道非常直观的双指针方法的应用,实现过程之中没有什么坑。长度最小的子数组就是我们的滑动窗口方法了,题目不难,但是这种处理方式有着很深刻的背景,之后还会遇到......
  • 206. 反转链表
    题目206.反转链表要求给你单链表的头节点head,请你反转链表,并返回反转后的链表。答案这道题目也是使用虚拟节点,我先使用虚拟节点做了一遍,结果如下,就是想清楚在循环的时候保留当前节点就可以:publicstaticListNodereverseList(ListNodehead){ListNodevirtual=n......
  • 707. 设计链表
    题目:707.设计链表要求:你可以选择使用单链表或者双链表,设计并实现自己的链表。单链表中的节点应该具备两个属性:val 和 next 。val 是当前节点的值,next 是指向下一个节点的指针/引用。如果是双向链表,则还需要属性 prev 以指示链表中的上一个节点。假设链表中的所有节点......
  • 203. 移除链表元素
    题目:203.移除链表元素要求:给你一个链表的头节点head和一个整数val,请你删除链表中所有满足Node.val==val的节点,并返回新的头节点。解答:独自写出来了,但是代码=写的不好,我的思路是分两步,第一步先把头节点等于目标值的节点全部删除,第二步在遍历后续节点,删除等于目标值......
  • 【删除排序链表中的重复元素】模拟
    leetcode82.删除排序链表中的重复元素II题意:只要链表中元素x重复出现了,删除所有元素x(刚开始还读错题了……)题解:在表头前添加链表的虚拟节点dummy遍历链表(1)如果当前节点cur的下一个节点cur.next和cur.next.next相等,则意味着出现了重复元素,记录元素值,从cur.next开始挨个删......
  • 代码随想录算法训练营第二天| LeetCode977.有序数组的平方、209.长度最小的子数组、59
    LeetCode977.有序数组的平方●今日学习的文章链接和视频链接代码随想录(programmercarl.com) 题目链接977.有序数组的平方-力扣(LeetCode) ●自己看到题目的第一想法昨天正好做了这道题目,总体来说就是用双指针法,要么从绝对值最小的数开始排序,要么从绝对值最大的数开......
  • 【合并排序链表】分治/优先队列
    合并两个排序链表模拟维护一个合并链表,每次添加两个排序链表中较小val的节点即可模拟代码publicListNodemergeTwo(ListNodea,ListNodeb){if(a==null)returnb;if(b==null)returna;ListNodeans=newListNode(0);Lis......
  • 代码随想录算法训练营第二天|977.有序数组的平方、209.长度最小的子数组、59.螺旋矩阵
    LeetCode977有序数组的平方题目链接:977.有序数组的平方思路:双指针,由两侧向中间逼近 LeetCode 209.长度最小的子数组题目链接:209.长度最小的子数组思路:滑动窗口,关键点滑动窗口起始点和终止点位置关系的确定 LeetCode 59.螺旋矩阵题目链接:59.螺旋矩阵关键点:循环处理......
  • 【删除链表的倒数第N个节点】双指针
    leetcode19.删除链表的倒数第N个结点题解1:通过链表长度获取[倒数第n个节点]位置计算链表长度找到[倒数第N个节点]的前一个节点删除[倒数第N个节点]注意特殊情况:删除的是第一个节点时,直接返回第二个节点即可点击查看代码/***Definitionforsingly-linkedlist.......
  • 【大数相加链表模拟】
    leetcode2.两数相加题意:两个长度为[1,100]的大数,分别倒序存储(个位在链表头)在两个链表中,计算两个数的和,并倒序存储在一个新链表,返回链表表头。数据中不存在前导零。题解:模拟大数相加,注意维护进位carry即可代码/***Definitionforsingly-linkedlist.*publicclassL......