一、题目描述
请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。
示例 1: 输入: "abcabcbb" 输入: "bbbbb" 输入: "pwwkew" |
二、题目难度:中等
三、题解
方法一:使用一个set来维护当前不重复的字符
class Solution { public int lengthOfLongestSubstring(String s) { int n = s.length(); int left = 0; int right = 0; Set<Character> set = newLinkedHashSet<>();
int res = 0; while(right < n){ char c = s.charAt(right); while(set.contains(c)){ set.remove(s.charAt(left++)); } set.add(c); right++; res = Math.max(res,right - left); } return res; } }