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

相关推荐
python算法(魔法师版)16 分钟前
基于机器学习鉴别中药材的方法
深度学习·线性代数·算法·机器学习·支持向量机·数据挖掘·动态规划
JNU freshman1 小时前
力扣第435场周赛讲解
算法·leetcode·蓝桥杯
眼镜哥(with glasses)1 小时前
蓝桥杯python基础算法(2-2)——基础算法(B)——模拟(上)
算法
赵鑫亿3 小时前
7.DP算法
算法·dp
iqay3 小时前
【C语言】填空题/程序填空题1
c语言·开发语言·数据结构·c++·算法·c#
还有糕手3 小时前
算法【有依赖的背包】
算法·动态规划
pursuit_csdn4 小时前
力扣 347. 前 K 个高频元素
算法·leetcode
wen__xvn4 小时前
每日一题洛谷B3865 [GESP202309 二级] 小杨的 X 字矩阵c++
c++·算法·矩阵
makabaka_T_T4 小时前
25寒假算法刷题 | Day1 | LeetCode 240. 搜索二维矩阵 II,148. 排序链表
数据结构·c++·算法·leetcode·链表·矩阵
辞半夏丶北笙5 小时前
最近最少使用算法(LRU最近最少使用)缓存替换算法
java·算法·缓存