class Solution {
public:
int lengthOfLongestSubstring(string s) {
// Start typing your C/C++ solution below
// DO NOT write int main() function
int longest = 0;
set<char> repeat;
string::size_type index1 = 0, index2 = 0;
if (0 == s.size())
{
return 0;
}
else if (1 == s.size())
{
return 1;
}
index2 = 1;
repeat.insert(s[index1]);
while (index1 < s.size() && index2 < s.size())
{
if (!repeat.count(s[index2]))
{
repeat.insert(s[index2]);
++index2;
}
else
{
repeat.clear();
int len = index2 - index1;
longest = (len > longest) ? len:longest;
++index1;
index2 = index1 + 1;
repeat.insert(s[index1]);
}
}
int len = index2 - index1;
longest = (len > longest) ? len:longest;
return longest;
}
};