
Python:
python
class Solution(object):
def lengthOfLongestSubstring(self, s):
"""
:type s: str
:rtype: int
"""
cnt=defaultdict(int)
left =0
ans=0
for right,c in enumerate(s):
cnt[c]+=1
while cnt[c]>1:
cnt[s[left]]-=1
left+=1
ans = max(ans,right-left+1)
return ans
C++:
cpp
class Solution {
public:
int lengthOfLongestSubstring(string s) {
unordered_map<char,int>cnt;
int left=0;
int ans=0;
int n=s.size();
for(int right=0;right<n;right++){
cnt[s[right]]++;
while(cnt[s[right]]>1){
cnt[s[left]]--;
left++;
}
ans = max(ans,right-left+1);
}
return ans;
}
};