【力扣二刷思路】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. 反转链表

相关推荐
power 雀儿1 小时前
掩码(Mask)机制 结合 多头自注意力函数
算法
会叫的恐龙1 小时前
C++ 核心知识点汇总(第六日)(字符串)
c++·算法·字符串
小糯米6011 小时前
C++顺序表和vector
开发语言·c++·算法
We་ct2 小时前
LeetCode 56. 合并区间:区间重叠问题的核心解法与代码解析
前端·算法·leetcode·typescript
Lionel6892 小时前
分步实现 Flutter 鸿蒙轮播图核心功能(搜索框 + 指示灯)
算法·图搜索算法
小妖6662 小时前
js 实现快速排序算法
数据结构·算法·排序算法
xsyaaaan2 小时前
代码随想录Day30动态规划:背包问题二维_背包问题一维_416分割等和子集
算法·动态规划
zheyutao3 小时前
字符串哈希
算法
A尘埃3 小时前
保险公司车险理赔欺诈检测(随机森林)
算法·随机森林·机器学习
网络安全-杰克3 小时前
2026面试自动化测试面试题【含答案】
自动化测试·软件测试·面试·职场和发展