# code/leetcode/v1/longestsubstring

# Longest Substring Without Repeating Characters

Given a string, find the length of the longest substring without repeating characters.

**Example 1:**

Input: “abcabcbb”

Output: 3

Explanation: The answer is “abc”, with the length of 3.

**Example 2:**

Input: “bbbbb”

Output: 1

Explanation: The answer is “b”, with the length of 1.

**Example 3:**

Input: “pwwkew”

Output: 3

Explanation: The answer is “wke”, with the length of 3.

Note that the answer must be a substring, “pwke” is a subsequence and not a substring.

**Solution 1**

1 | private static int lengthOfLongestSubstring(String s) { |

Using too much time, so I read the leetcode document.

Here is a *SlideWindow* method.

**Solution 2**

1 | private static int plus(String s) { |

We can adjust the *SlideWindow* by increase `i`

- head pointer and `j`

- rear pointer.

This can sharply optimize the complexity of time.

Reference

https://leetcode-cn.com/problems/longest-substring-without-repeating-characters