从一个字符串中找出一个最长的不包含重复字符的子字符串,输出该最长子字符串的长度。
class Solution
{
public:
int lengthOfLongestSubstring(string s)
{
int n=s.size();
if(n<2) return n;
int left=0;
int right=0;
int ans=0;
unordered_map<char,int> mp;
while(left<n && right<n)
{
if(right<n && mp[s[right]==0)
{
mp[s[right]]++;
right++;
}
else
{
mp[s[left]]--;
left++;
}
ans=max(ans,right-left);
}
return ans;
}
};