无重复字符的最长字串 Java
·

class Solution {
public int lengthOfLongestSubstring(String s) {
char[] chars = s.toCharArray();
int n = chars.length;
List<Character> list = new ArrayList();
int l = 0, r = 0;
int max = 0;
// 滑动窗口
while (r < n) {
if (!list.contains(chars[r])) {
// 表中没有重复的,添加并更新最大长度,继续移动右指针
list.add(chars[r]);
max = Math.max(max, list.size());
r++;
} else {
// 表中有重复的,删除左指针上的元素,并移动左指针
list.remove((Character) chars[l]);
l++;
}
}
return max;
}
}
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
更多推荐


所有评论(0)