图片: 图片链接: 点击链接.![Alt](https://img8.php1.cn/3cdc5/15483/5a0/036320c779fc649b.jpeg)
因为视频图片无法转载,所以详情就查看上面图片链接。
具体看代码解释:注意:桶内值得大小表示了相应字符在字符串中的位置
class Solution
{
public:int lengthOfLongestSubstring(string s){int start(0),end(0),length(0),res(0);int ss&#61;s.size();vector<int> rec(128,-1);while(end<ss){int asc&#61;int(s[end]);if(rec[asc]>&#61;start){start&#61;rec[asc]&#43;1; length&#61;end-start;}rec[asc]&#61;end;length&#43;&#43;;end&#43;&#43;;res&#61;max(length,res);}return res;}
};
这个写法相当的妙&#xff0c;且省时间&#xff0c;原因在于他如果发现了重复的字符串&#xff0c;则会直接跳到重复字符后面一位进行新的非重复字符串长度确定而不用一位一位遍历确定前面在哪一位重复了