class Solution {
public:
int lengthOfLongestSubstring(string s) {
std::vector<char> m;
int len = s.length();
char tmp;
int cnt=0, max = 0;
while(len--){
tmp = s.at(len);
auto it = std::find(m.begin(), m.end(), tmp);
if(m.empty() || it == m.end())
{
m.push_back(tmp);
++cnt;
}
else{
for (auto iter = m.begin(); iter != m.end();)
{
if( *iter == tmp ){
iter = m.erase(iter++);
--cnt;
break;
}
iter = m.erase(iter++);
--cnt;
}
m.push_back(tmp);
++cnt;
}
max = std::max(max, cnt);
}
return max;
}
};