- 博客(4)
- 收藏
- 关注
原创 代码随想录算法训练营第四天 | 24. 两两交换链表中的节点 、19.删除链表的倒数第N个节点 、142.环形链表II 、面试题 02.07. 链表相交
注意:在使用虚拟头节点的时候一定要再创建一个临时节点用于处理,以方便后面返回,在书写以下判断条件的时候一定要想清楚该如何判定 :如果cur.next.val = val,就是删除这个节点,将 cur.next.next的节点值赋给cur.next,如果cur.next.val!递归的没太理解暂时无法写出来,双指针的好理解一些,主要把握初始化的值,注意的是在考虑边界时可以使用极限的思考的方式,比如直接就只有一个节点和在链表的开始和结尾是否满足。使用虚拟头节点可以简化链表的操作,避免处理头节点单独的情况。
2024-07-08 15:21:20
179
原创 代码随想录算法训练营第三天 | 203.移除链表元素 、 707.设计链表 、206.反转链表
每一个节点由两部分组成,一个是数据域一个是指针域(存放指向下一个节点的指针),最后一个节点的指针域指向null(空指针的意思)。作为一个初学者看到这个真的蒙, 今天事情太多了,还要等着 和导师开会,简单记录一下今天的学习和思考过程,题目明天再做。链表的长度可以是不固定的,并且可以动态增删, 适合数据量不固定,频繁增删,较少查询的场景。数组在定义的时候,长度就是固定的,如果想改动数组的长度,就需要重新定义一个新的数组。双链表:每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。
2024-07-05 21:43:23
103
原创 代码随想录算法训练营第二天 | 977.有序数组的平方 、 209.长度最小的子数组、 59.螺旋矩阵II
滑动窗口如何用一个for循环来完成这个操作,首先用一个for循环,表示滑动窗口的终止位置。所以只用一个for循环,那么这个循环的索引,一定是表示 滑动窗口的终止位置,滑动窗口的精妙之处在于根据当前子序列和大小的情况,不断调节子序列的起始位置。从而将O(n^2)暴力解法降为O(n)在暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环 完成了一个不断搜索区间的过程。使用滑动窗口,滑动窗口,就是不断的调节子序列的起始位置和终止位置,从而得出我们要想的结果。
2024-07-04 23:08:05
246
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人