题目
给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。
示例 1:
1 | 输入: "abcabcbb" |
示例 2:
1 | 输入: "bbbbb" |
示例 3:
1 | 输入: "pwwkew" |
Given a string, find the length of the longest substring without repeating characters.
Example 1:
1 | Input: "abcabcbb" |
Example 2:
1 | Input: "bbbbb" |
Example 3:
1 | Input: "pwwkew" |
解题方法
滑动窗口
以head、tail为窗口的起终点,初始窗口大小为1,初始位置为字符串第一个字符,tail保持向后滑动,每次检查窗口后面的一个字符在窗口中是否存在相同的字符,如果存在则滑动窗口起点到相同字符之后,每次滑动更新不含相同字符字串的最大长度。这段代码跑了6ms,超过了98.03%的Java提交。
1 | public class Solution { |