leetcode 算法3 无重复字符的最长子串
class Solution {
public int lengthOfLongestSubstring(String s) {
if(null == s || s.isEmpty()){
return 0;
}
int max = 1;
for(int i=0,j=1,index=0;j<s.length();j++){
index = s.indexOf(s.charAt(j),i);
if(index >= 0 && index < j){
i = index + 1;
}else{
max = Math.max(j - i + 1,max);
}
}
return max;
}
}
思路:滑动窗口
右侧滑动,发现重复字符时,左侧位置进行调整,调整后保持窗口无重复字符;否则计算出现的最大长度