题目链接
英文链接:https://leetcode.com/problems/longest-substring-without-repeating-characters/
中文链接:https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/
题目详述
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
1 | 输入: "abcabcbb" |
示例 2:
1 | 输入: "bbbbb" |
示例 3:
1 | 输入: "pwwkew" |
题目详解
滑动窗口。
- 遍历字符串,运用 HashMap 存储当前字符到索引的映射。
- 如果 HashMap 中存在该字符,说明之前出现过,滑动窗口从该字符的下一个位置开始。
- 因为出现过字符的下一个位置可能不在滑动窗口内,还需要与滑动窗口的起始位置进行比较,取二者最大值。
- 遍历过程中更新最大值,遍历结束后返回即可。
1 | public class LeetCode_00003 { |