【力扣二刷思路】DAY1

3. 无重复字符的最长子串

给定一个字符串 s ,请你找出其中不含有重复字符的 最长

子串的长度。

示例 1:

输入: s = "abcabcbb"

输出: 3

解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。

示例 2:

输入: s = "bbbbb"

输出: 1

解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。

示例 3:

输入: s = "pwwkew"

输出: 3

解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。

请注意,你的答案必须是 子串 的长度,"pwke" 是一个子序列,不是子串。

思路

这道题是找连续的无重复最长子串,要采用滑动窗口的思路,将给定字符串长度记录,同时初始化窗口的左右指针先指向第一个元素。通过循环左右指针内部空间判断是否有重复元素,若没有则将当前窗口长度和ans值进行比较,并保存较大值存入ans;若有重复元素则将当前重复元素的下标修改为后一个重复元素的下标。最终返回ans。

题解

【力扣刷题练习】3. 无重复字符的最长子串

206. 反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

思路

经典算法思路,先初始化两个指针p,q分别指向头结点和空,

进入循环体先初始化一个临时指针t去指向p的下一个结点,

然后令这个结点指向当前的q,其实就是断开p->next和p->next->next的联系,

再将q指针移动到p,在循环内q指针始终指向新链表的首部,

最后p指针移动到临时指针t,本轮循环结束

整体循环结束后返回q,即首元素

题解

【力扣刷题练习】206. 反转链表

相关推荐
地平线开发者10 小时前
SparseDrive 模型导出与性能优化实战
算法·自动驾驶
董董灿是个攻城狮10 小时前
大模型连载2:初步认识 tokenizer 的过程
算法
地平线开发者10 小时前
地平线 VP 接口工程实践(一):hbVPRoiResize 接口功能、使用约束与典型问题总结
算法·自动驾驶
罗西的思考11 小时前
AI Agent框架探秘:拆解 OpenHands(10)--- Runtime
人工智能·算法·机器学习
HXhlx14 小时前
CART决策树基本原理
算法·机器学习
Wect14 小时前
LeetCode 210. 课程表 II 题解:Kahn算法+DFS 双解法精讲
前端·算法·typescript
颜酱15 小时前
单调队列:滑动窗口极值问题的最优解(通用模板版)
javascript·后端·算法
Gorway1 天前
解析残差网络 (ResNet)
算法
拖拉斯旋风1 天前
LeetCode 经典算法题解析:优先队列与广度优先搜索的巧妙应用
算法
Wect1 天前
LeetCode 207. 课程表:两种解法(BFS+DFS)详细解析
前端·算法·typescript