自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(4)
  • 收藏
  • 关注

原创 代码随想录算法训练营day4【C】| 24.两两交换链表中的节点、707. 设计链表、206. 反转链表

2、那么链表主体目前有两个部分:两个未处理的结点和剩余处理好的链表(此处注意不是一个未处理的结点,因为本题的目的是实现两两结点的互换)4、链表迭代退出的条件需要格外上心,这里退出条件是:如果cur当前遍历到了最后一个节点,或者倒数第二个节点,就退出循环;1、现在在链表的基础操作上,基本上可以做到“指哪打哪”,这也是做代码题最基本的要求,但是这实际上花了我不少的时间;1、正如day3指出的,先将特殊情况的链表返回,即不用翻转的;3、然后基于目前的链表主体,得到处理好的链表,然后返回头结点;

2024-01-13 23:34:32 706

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

分析:将后面所有的结点都想成了一个结点,其实后面是一串,所以应该接到一串结点的最后面,即head->next->next = head,这里head->next就是reversed链表结尾的结点。2、关于index超出范围的判断需要想清楚,在这个题中,因为涉及对于index的超范围的判断,因此循环不好用for,然后用index作为退出条件。3、考虑退出的规模,即一个结点都不剩,因为只要剩一个,就需要判断是否需要删除,并且将退出判断写在整个函数最前面,即“if(head == NULL)”。

2024-01-12 00:00:00 2026

原创 代码随想录算法训练营day2| 977. 有序数组的平方、 209.长度最小的子数组、 59.螺旋矩阵II

对于**returnColumnSizes:要传递的是的是一个数组,这个数组存储了每一列的尺寸,因此需要传递进来的是一个数组指针的地址(或者说是一个数组指针的指针),即**returnColumnSizes。那么*returnColumnSizes就是这个这个数组指针的内容,即数组的地址类似于 int a[N]中的a,因此(*returnColumnSizes)[i]类似于a[i],即数组的内容。通过59题,反复揣摩一个全局的二维数组建立的方法,和如何将一个一维数组的指针的地址传入函数。

2024-01-11 00:16:34 432

原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素

在双指针法中,并不需要在nums[slow] = nums[fast]后继续从原始数组的当前位置遍历,因为本质上,原始数组并没有被修改,只是将数据给了新数组;1、(*)循环体中的变量涉及边界时要格外注意,比如此题的middle,这里的边界时left和right,而非0和right;要想清楚所谓边界的具体含义,在本题中,有两个边界,一个是退出边界,另一个是重置边界,一定要注意前后统一。问题:测试用例的数组的尾部都是val,因此在第5行,fast会到numsSize,从而溢出。初始化时:left = 0;

2024-01-10 10:43:35 324

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除