给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。 public class LengthOfLongestSubstring { public int lengthOfLongestSubstring(String s) { if(s.length()<0 | ("").equals(s)){ return 0; } int length = s.length(); //统计最长不重复字符串的长度 int count = 0; Map<Character,Integer> map = new HashMap<>(); for(int start=0,end=0;end<length;end++){ char c = s.charAt(end); if(map.containsKey(c)){ //如果包含该元素,则从该元素的下一个元素开始 start = Math.max(map.get(c)+1,start); } count = Math.max(count,end-start+1); //保存最后一个该节点的位置 map.put(c,end); } return count; } public static void main(String[] args) { // String s="abcabcbb"; // String s= "bbbb"; // String s = "pwwkew"; String s = ""; LengthOfLongestSubstring l = new LengthOfLongestSubstring(); int length = l.lengthOfLongestSubstring(s); System.out.println(length); } }