方法比较取巧,用了set,每插入一个char就获得一次size,如果和上次一样就说明重复了。
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* 给定一个字符串保存在 string 类型中,返回字符串中最长的无重复子字符串的长度
* @param s string字符串 输入的字符串
* @return int整型
*/
int lengthOfLongestSubstring(string s) {
// write code here
int maxlength = 0;
set<char> myson;
for (int i = 0; i < s.length(); i++) {
myson.clear();
int length = myson.size();
for (int j = i; j < s.length(); j++) {
myson.insert(s[j]);
if (length == myson.size())
break;
else
length++;
}
maxlength = maxlength > length ? maxlength : length;
}
return maxlength;
}
};