leetcode Hot 100系列
文章目录
一、核心操作
- 用map,key为char,value为出现次数,将字符串中的值依次入栈,再判断次数是否大于1,如果大于1,则循环删除掉包括重复值之前的char
- 记录最大长度
提示:小白个人理解,如有错误敬请谅解!
二、外层配合操作
- 双指针操作
三、核心模式代码
代码如下:
c
class Solution {
public:
int lengthOfLongestSubstring(std::string s) {
std::unordered_map<char,int> umap;
int res=0;
for(int left=0,right=0;right<s.size();right++)
{
umap[s[right]]++;
while(umap[s[right]]>1)
{
umap[s[left++]]--;
}
res=std::max(res,right-left+1);
}
return res;
}
};
总结
- 先加入,后判断,循环删除重复值