
数据结构与算法
文章平均质量分 93
YZ要努力呀
对生活永远充满期待和好奇
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
代码随想录算法训练营第四天|LeetCode 24. 两两交换链表中的节点、19. 删除链表的倒数第 N 个结点、 面试题 02.07. 链表相交 、142. 环形链表 II
可以使用快慢指针法,分别定义 fast 和 slow 指针,从头结点出发,fast指针每次移动两个节点,slow指针每次移动一个节点,如果 fast 和 slow指针在途中相遇 ,说明这个链表有环。其实这种情况和n为1的时候 效果是一样的,一样可以通过这个方法找到 环形的入口节点,只不过,index1 指针在环里 多转了(n-1)圈,然后再遇到index2,相遇点依然是环形的入口节点。双指针法:第一个指针先跑,第二个指针跟着,他们的距离保持在n,于是当第一个指针到尾部时,第二个指针就指向了倒数第n个节点;原创 2024-10-27 15:24:04 · 870 阅读 · 0 评论 -
代码随想录算法训练营第三天|LeetCode 203.移除链表元素、707.设计链表、206.反转链表
给你一个链表的头节点head和一个整数val,请你删除链表中所有满足的节点,并返回。[0, 104]虚拟头结点法:虚拟头节点是一个指向原头节点的额外节点,这样可以统一处理头节点和非头节点的删除操作。算法步骤dummyHeadnextheadcurdummyHeadcur.nextvalcur.nextcur.nextcur思考在不使用虚拟头结点的情况下,如果链表的头结点需要被删除,我们就需要特殊处理这种情况,因为头结点来帮助我们重新链接链表。而使用虚拟头结点之后,就可以统一处理所有结点的删除操作。原创 2024-10-22 23:15:32 · 951 阅读 · 0 评论 -
代码随想录算法训练营第二天|LeetCode 209.长度最小的子数组、59.螺旋矩阵II
给定一个含有n个正整数的数组和一个正整数target**。target。**如果不存在符合条件的子数组,返回0。原创 2024-10-17 18:10:48 · 1031 阅读 · 0 评论 -
代码随想录算法训练营第一天| LeetCode 704. 二分查找、LeetCode 27.移除元素、LeetCode977.有序数组的平方
给定一个长度为 n 的数组nums,元素按从小到大的顺序排列且不重复。请查找并返回元素target在该数组中的索引。若数组不包含该元素,则返回 −1。示例如图 10-1 所示。原创 2024-10-16 19:56:37 · 750 阅读 · 0 评论