本文共 784 字,大约阅读时间需要 2 分钟。
class Solution { public int lengthOfLongestSubstring(String s) { Setset = new HashSet<>(); int len = s.length(); int l = 0; int r = 0; int ans = 0; //滑动窗口可以按照这个套 while(l < len) { //没有这一个判断运行会超时 if(ans >= len - 1 - l + 1) { break; } //右指针移动 while(r < len && !set.contains(s.charAt(r))) { set.add(s.charAt(r)); r++; } //右移完后计算长度 ans = Math.max(ans, r - 1 - l + 1); //左指针移动 因为已经出现重复了 所以要移动左指针 while(r < len && set.contains(s.charAt(r))) { set.remove(s.charAt(l)); l++; } } return ans; }}
转载地址:http://emhzi.baihongyu.com/