Solution Code
C#
publicclassSolution{publicintLengthOfLongestSubstring(strings){int[]mark=newint[500];intlen=s.Length,en=0,mx=0,cnt=0;for(intst=0;st<len;st++){if(mark[s[st]]>0){for(;en<st;en++){if(s[en]==s[st]){en++;break;}cnt--;mark[s[en]]--;}}else{cnt++;mark[s[st]]++;mx=Math.Max(mx,cnt);}}returnmx;}}
C++
classSolution{public:intlengthOfLongestSubstring(strings){intmark[500]={0},len=s.size(),en=0,mx=0,cnt=0;for(intst=0;st<len;st++){if(mark[s[st]]>0){for(;en<st;en++){if(s[en]==s[st]){en++;break;}cnt--;mark[s[en]]--;}}else{cnt++;mark[s[st]]++;mx=max(mx,cnt);}}returnmx;}};
Java
classSolution{publicintlengthOfLongestSubstring(Strings){int[]mark=newint[500];intlen=s.length(),en=0,mx=0,cnt=0;for(intst=0;st<len;st++){if(mark[s.charAt(st)]>0){for(;en<st;en++){if(s.charAt(en)==s.charAt(st)){en++;break;}cnt--;mark[s.charAt(en)]--;}}else{cnt++;mark[s.charAt(st)]++;mx=Math.max(mx,cnt);}}returnmx;}}