Given a string, find the length of the longest substring without repeating characters.
1 public class Solution { 2 public int lengthOfLongestSubstring(String s) { 3 int[] flag = new int[256]; 4 for (int i = 0; i < flag.length; i++) { 5 flag[i] = -1; 6 } 7 int maxLen = 0; 8 int start = 0; 9 for (int i = 0; i < s.length(); i++) { 10 int pos = flag[(int)s.charAt(i)]; 11 if (pos >= start) { 12 maxLen = Math.max(maxLen, i - start); 13 start = pos + 1; 14 } 15 flag[(int)s.charAt(i)] = i; 16 } 17 return Math.max(maxLen, s.length() - start); 18 } 19 }

浙公网安备 33010602011771号