- 博客(15)
- 问答 (1)
- 收藏
- 关注
原创 回文链表--使用双指针实现
摘要: 判断单链表是否为回文链表。解法:遍历链表将节点值存入集合,再用双指针从两端向中间比较数值是否对称。时间复杂度O(n),空间复杂度O(n)。核心代码使用Java实现,通过ArrayList存储,双指针校验回文性质。
2025-07-03 21:17:30
212
原创 反转链表--利用迭代方式实现
指的是哪个节点,一般来说头节点指的是第一个节点且不存储值的节点,但在这个题目中头节点指的是存储值为1的这个节点。了解清楚哪个是头节点之后,用迭代的方式来求解。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。首先要明确题目中的头节点。时间复杂度:O(n)空间复杂度:O(1)
2025-07-02 20:49:45
171
原创 二维矩阵的搜索(利用二分查找)
代码分为两部分:searchMatrix 方法负责遍历矩阵的每一行,search 方法则对每一行执行二分查找。这种组合方式充分利用了二分查找的时间效率优势。
2025-06-29 21:41:30
133
原创 给你一个 m 行 n 列的矩阵 ,请按照 顺时针螺旋顺序 ,返回矩阵中的所有元素。(螺旋矩阵)
/创建一个和原数组一样大小的数组,标记是否经过这一个数据。//创建一个List数组,存储路径上的结果。
2025-06-17 23:10:18
237
原创 矩阵置零-java
/将矩阵中除了第一行和第一列的0元素标记在矩阵中的第一行和第一列。//将矩阵第一行和第一列的0元素按照行和列进行转换。//如果第一列有0,把flagCol转为true。//如果第一行有0,把flagRow转为true。//如果第一列元素有0元素。//如果第一列元素有0元素。时间复杂度:O(nm)空间复杂度:O(1)
2025-06-07 21:42:23
170
原创 找到字符串中所有字母异位词-JAVA
/移动sCount,移动距离为pLen的长度,当sCount数组等于pCount,将索引加1加入到ans集合中去。//判断s前三个字符是否是p的异位词,并且初始化pCount数组。//第一种情况s小于p的长度,没有这个异位词。//索引加1,将每次运行答案画出来.//创建一个整型数组集合。
2024-10-22 11:58:52
190
原创 无重复字符的最长字串-JAVA
/在左指针向右移动的时候,我们从哈希集合中移除一个字符,在右指针向右移动的时候,我们往哈希集合中添加一个字符。// 右指针,初始值为 -1,相当于我们在字符串的左边界的左侧,还没有开始移动。// 第 i 到 rk 个字符是一个极长的无重复字符子串。// 左指针向右移动一格,移除一个字符。// 哈希集合,记录每个字符是否出现过。// 不断地移动右指针。
2024-10-18 13:54:45
152
原创 接雨水-双指针
/左边边界的最大值,用来定位当前数组值在区间中能装多少水。//右边边界的最大值,用来定位当前数组值在区间中能装多少水。//当前能装多少水+之前能装多少水=整个能装多少水。//当前能装多少水+之前能装多少水=整个能装多少水。
2024-10-17 13:49:47
246
原创 三数之和-每日一题
/ 就不会有满足 a+b+c=0 并且 b<c 的 c 了,可以退出循环。// 需要保证second的指针在third的指针的左侧。// 如果指针重合,随着second后续的增加。// third对应的指针初始指向数组的最右端。// 需要和上一次枚举的数不相同。// 需要和上一次枚举的数不相同。//左右指针相加要找的目标数。// 枚举 second。// 枚举数组中的第一个数。
2024-10-15 21:06:53
455
原创 盛最多水的容器-每日一题
/left和right对应的数组中小的数*数组长度就是此次容器的的体积。//left指数组最左边的数,right指数组中最右边的数。//存储每次循环的最大的结果。
2024-10-14 22:53:13
172
原创 最长连续序列-每日一题JAVA
/Set集合中的contans方法,在num_set中查找到指定的元素返回true。//如果数组中的元素减一不存在数组中,则可以肯定该元素是一各连续序列的起点,进行运算。//创建一个set集合,将数组元素放入集合容器中。//当前执行到集合中的哪个元素了。//如果不是一段连续序列的起点则跳过。//整个数组中的最长序列。
2024-10-12 21:15:09
287
3
空空如也
为什么第三个for循环运行不了
2022-07-06
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅