给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
import java.util.Arrays;
class Solution {
public int lengthOfLongestSubstring(String s) {
if (s == null || s.length() == 0) {
return 0;
}
int[] hash = new int[256];
Arrays.fill(hash, -1);
int pre = 0;
int ret = 0;
for (int i = 0; i < s.length(); ++i) {
pre = Math.min(pre + 1, i - hash[s.charAt(i)]);
ret = Math.max(ret, pre);
hash[s.charAt(i)] = i;
}
return ret;
}
}