一、题目
给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。

二、解题思路
代码:
class Solution {
public int lengthOfLongestSubstring(String s) {
int len = s.length(),result = 0;
Map<Character,Integer> map = new HashMap();
char[] chars = s.toCharArray();
for (int start = 0,end = 0;end < len; end++) {
char c = chars[end];
if (map.containsKey(c)) {
start = Math.max(start, map.get(c));
}
result = Math.max(result, end - start + 1);
map.put(c, end + 1);
if((len - start) <= result) {
break;
}
}
return result;
}
}
图解1:  图解2:  图解3:  图解4:  图解5:  图解6:  图解7:  图解8:  图解9:  图解10:  图解11: 
|