题目描述:
|
|
用滑动窗口来解决这个问题
由输入的字符串可以知道该字符串的长度(length)
设置两个指针,分别为left和right,同时设置最大子字符串长度为max
然后开始while循环,条件为left和right都小于length
利用数据结构set来存储目前的窗口
right指针向右移动,如果对应的char在set中不存在,那么就把该char加入到set中,同时记录下当时set中元素的个数,并与max对比,取最大值重新保存为max。如果set中有该char,那么就移动left,直到right指针对应的char在set中不存在为止。
现在max的值就是最大子字符串的长度
java代码如下