- 博客(4)
- 收藏
- 关注
原创 代码随想录算法训练营第四天 | Leetcode 24. 两两交换链表中的节点、19.删除链表的倒数第N个节点、链表相交、 142.环形链表II | 虚拟结点、快慢指针、链表相交、环形链表找入口
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数。来表示链表尾连接到链表中的位置(索引从 0 开始)。不作为参数进行传递,仅仅是为了标识链表的实际情况。注意,函数返回结果后,链表必须 保持其原始结构。如果链表中有某个节点,可以通过连续跟踪。给你一个链表,删除链表的倒数第。个结点,并且返回链表的头结点。如果两个链表没有交点,返回。,则在该链表中没有环。
2023-10-15 23:56:32
42
1
原创 代码随想录算法训练营第三天 | Leetcode 203. 移除链表元素、707. 设计链表、206. 反转链表 | 单向链表的创建、删除、插入、查询、双指针&递归法
的节点插入到链表中第一个元素之前。在插入完成后,新节点会成为链表的第一个节点。指针的指向,直接将链表反转 ,而不用重新定义一个新的链表。以指示链表中的上一个节点。假设链表中的所有节点下标从。等于链表的长度,那么该节点会被追加到链表的末尾。你可以选择使用单链表或者双链表,设计并实现自己的链表。上面方法是对内存空间的浪费,只需要改变链表的。的节点追加到链表中作为链表的最后一个元素。如果下标有效,则删除链表中下标为。,请你反转链表,并返回反转后的链表。是指向下一个节点的指针/引用。的节点插入到链表中下标为。
2023-10-15 00:16:01
44
1
原创 代码随想录算法训练营第二天 | Leetcode 977. 有序数组的平方、209. 长度最小的子数组、59. 螺旋矩阵II | 数组、双指针、滑动窗口、二维数组、模拟矩阵生成
暴力解法中,是一个for循环滑动窗口的起始位置,一个for循环为滑动窗口的终止位置,用两个for循环完成了一个不断搜索区间的过程。如果不存在符合条件的子数组,返回。→ 当窗口中所有元素值 ≥ target时,滑动。不断的调节子序列的起始位置和终止位置。每次循环内对两端值判断,取较大值。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。的长度最小的 连续子数组。组成的新数组,要求也按。新数组下标由大到小更新。
2023-10-13 11:43:28
63
原创 代码随想录算法训练营第一天 | Leetcode 704. 二分查找、27. 移除元素 | 数组、二分法、双指针
只有不等于val,才是新数组需要的元素;把快指针获取到的值赋给慢指针所在位置。一分为二、比较middle、更新区间,不断将当前查找的范围缩小为原来的一半。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。易错点:左区间右边界和右区间左边界的更新。不要使用额外的数组空间,你必须仅使用。,如果目标值存在返回下标,否则返回。的元素,并返回移除后数组的新长度。个元素有序的(升序)整型数组。
2023-10-11 23:27:46
185
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人