自定义博客皮肤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)
  • 收藏
  • 关注

原创 代码随想录算法训练营第五天|LeetCode 24. 两两交换链表中的节点、LeetCode19.删除链表的倒数第N个节点、面试题 02.07. 链表相交、LeetCode142.环形链表II

1.需要已知的节点:要对两个节点进行交换操作,一定要知道它们两个前面的那个节点,才能对要交换的两个节点操作。2.保存节点:将虚拟头节点指向2号节点后,current.next就会是2号节点,那么1号节点就无法表示了,同理,3号节点也是。所以要提前保存好这两个节点的位置后再进行交换。3.循环停止的终止条件:链表可能是奇数或偶数个,当链表为偶数个时,所有节点都会进行交换,此时current指向最后一个节点时,current.next为空时表示链表交换结束。

2024-06-29 14:09:48 862

原创 代码随想录算法训练营第四天|LeetCode203.移除链表元素、LeetCode707.设计链表、LeetCode206.反转链表

代码中写的不是很明显,ListNode(val, self.dummy_head.next) 在这句代码里,可以看到新节点的值为val,指针指向了虚拟节点的下一个节点(头节点),这里解释一下为什么要先让新节点指向头节点,而不是让虚拟节点先指向新节点:因为一旦先让虚拟节点先指向新节点后dummy_head.next表示的就是新节点了,无法再让新节点指向头节点,因为头节点我们只能用dummy_head.next来表示。然后将下标为index的节点直接指向下一个节点,就删除了下标为index的节点。

2024-06-28 13:01:23 700

原创 代码随想录算法训练营第二天|LeetCode977.有序数组的平方 、LeetCode209.长度最小的子数组 、LeetCode59.螺旋矩阵II

""""""startX, startY = 0, 0 # 初始化起始点的位置loop, mid = n // 2, n // 2 # 循化次数即转几圈;n为奇数时矩阵的中心点count = 1 # 计数for offset in range(1, loop + 1): # offset代表偏移量,为了保证每一边的遍历都是左闭右开,第一圈开始偏移一,逐圈增加for i in range(startY, n - offset): # 矩阵最外圈,从左上到右上,不包括右上最后一个数。

2024-06-22 21:43:45 251

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

左闭右闭:拿到题目后,因为前段时间刚刚自学完二分查找,所以拿到题目以后也算得心应手,十分钟就写完了代码,在测试的时候报错,发现是自己没有编写没找到目标值的返回方式,添加以后,测试用例完全正确。其次关于移除元素,也掌握到了两种解决办法,暴力法要明确好循环边界,以及注意由于数组的特性,需要将其余数组向前移动。首先关于二分查找法,了解到了两种方法,对自己熟知的方法也有了更清晰的认识,要注意区间的开闭。快指针:寻找新数组的元素,新数组就是不含有目标元素的数组。慢指针:指向更新 新数组下标的位置。

2024-06-21 16:39:48 298 1

空空如也

空空如也

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

TA关注的人

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