- 博客(4)
- 收藏
- 关注
原创 代码随想录训练营Day4|链表
思路:双指针,从dummyhead出发,fast先走n+1步,再和slow一起走,这样fast指向链表尾时,slow指向倒数第n个节点的前一个节点。思路:让两个链表尾巴对齐,然后从让其中一个链表往前走至和另一个链表头对齐,再一起往前走。思路: 第一次做会有点懵,直接贴代码随想录的思路。思路:正常模拟,纸上画图写出每一条next的指向。
2024-04-20 23:36:13
277
原创 代码随想录Day3|LeetCode203 移除链表元素,LeetCode707设计链表,LeetCode206反转链表
思路:每次遍历一个节点(cur),要让他指向前一个节点(pre),指向前一个节点后本身的指向消失,所以要用tmp存下cur->next。思路:在首元节点前设置一个头结点,就不需要对首元节点和后面的节点分开做操作了。
2024-04-19 22:52:50
157
原创 代码随想录训练营第二天|LeetCode977有序数组的平方,LeetCode209长度最小的数组,LeetCode59螺旋矩阵II
思路:模拟,先往右走,往下走,往左走,往上走,四个变量控制上下左右的边界。不需要设置loop,直接用count<=n*n来控制循环。思路:因为是有序数组,所以最大值肯定从两头开始找.利用双指针每次比较一头一尾,然后移动指针,遍历完整个数组。思路:滑动窗口取最小长度。
2024-04-18 17:29:01
340
原创 代码随想录算法训练营第一天|LeetCode704二分查找(LeetCode 35,34)、LeetCode27移除元素
感受:题目很简单,就是在边界条件上要注意循环不变量,假如target是在[low,high]里,那么条件就要写成low<=high,因为low==high还是具备意义的。如果认为target是在[low,high)上,也可以,条件就要写成low<high,因为此时的low==high就没有意义了。分三种情况,一种是插在头,一种插在尾,一种插中间。三种情况都是把数插在high+1的位置上。思路:双指针,直接取满足条件的元素覆盖val的元素。思路:这次要查找一个范围,左右边界分开查找。
2024-04-18 00:06:08
414
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人