class Solution {
public int longestSubstringWithoutDuplication(String s) {
Queue<String> q = new LinkedList<>();
int maxLen = 0;
for (int i = 0; i < s.length(); i++) {
while (q.contains(s.substring(i, i + 1))) {
q.poll();
}
q.offer(s.substring(i, i + 1));
if (q.size() > maxLen) {
maxLen = q.size();
}
}
System.out.println(q);
return maxLen;
}
}
思路:设置一个储存当前字符串的队列,每次有新的就加入,如果队列里面有了,就一直出队列直到队列里面没有,最后返回maxLen,就是最长的长度。