leetcode Longest Substring Without Repeating Character(Java)

xiaoxiao2021-02-28  92

题目链接:点击打开链接

类型:

解法:记录每一子串起始位置和长度,并与当前最大长度进行比较

public class Solution { public int lengthOfLongestSubstring(String s) { if (s.length() == 0) return 0; if (s.length() == 1) return 1; int max_len = 1; HashMap<Character, Integer> map = new HashMap<>(); int begin = 0; int len = 1; for (int i=0 ; i<s.length() ; ++i) { if (map.containsKey(s.charAt(i))) { begin = Math.max(begin, map.get(s.charAt(i))+1); } map.put(s.charAt(i), i); len = i - begin + 1; max_len = (max_len > len) ? max_len : len; } return max_len; } }

转载请注明原文地址: https://www.6miu.com/read-57370.html

最新回复(0)