题目
代码分析
使用到了hashmap,同时需要注意的是,我们需要一个pre,并且一直向前移动
代码实现
public static int lengthOfLongestSubstring(String s) { char[] chas = s.toCharArray(); HashMap<Character, Integer> map = new HashMap<>(); int max = Integer.MIN_VALUE; int pre = -1; for (int i = 0; i < chas.length; i++) { if(map.get(chas[i]) != null&&map.get(chas[i])>pre) { pre=map.get(chas[i]); } max = Math.max(max, i - pre); map.put(chas[i], i); } return max; }
学习情况
1次