解题思路
用一个res保存当前的最长不重复子串,之后遍历字符串,设置当前的最长不重复子串为当前字符,之后从该字符的后一个字符串开始,若当前的最长不重复子串不包含该字符,则将该字符包含进来,否则break。之后与res进行比较,用res保存较大值。字符串遍历结束后res即为结果。
代码
class Solution {
public:int lengthOfLongestSubstring(string s) {int res = 0;for(int i = 0;i < s.size();i++){string longest = "";longest += s[i];int j = i + 1;while(j < s.size()){if(longest.find(s[j]) == string::npos)longest += s[j];elsebreak;j++;}int len = j - i;res = (res > len) ? res : len; }return res;}
};