DEV Community

Cover image for 3. Longest Substring Without Repeating Characters
Chandrasekar Gokulanathan
Chandrasekar Gokulanathan

Posted on

3. Longest Substring Without Repeating Characters

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

Example 1:

Input: s = "abcabcbb"
Output: 3
Explanation: The answer is "abc", with the length of 3.
Enter fullscreen mode Exit fullscreen mode

Example 2:

Input: s = "bbbbb"
Output: 1
Explanation: The answer is "b", with the length of 1.
Enter fullscreen mode Exit fullscreen mode

Example 3:

Input: s = "pwwkew"
Output: 3
Explanation: The answer is "wke", with the length of 3.
Notice that the answer must be a substring, "pwke" is a subsequence and not a substring.
Enter fullscreen mode Exit fullscreen mode

Example 4:

Input: s = ""
Output: 0
Enter fullscreen mode Exit fullscreen mode

Solution

/**
 * @param {string} s
 * @return {number}
 */
var lengthOfLongestSubstring = function(s) {
    let start = 0, end = 0;
    let maxStringLength = 0;
    let charSet = new Set();

    while (end < s.length) {
        if (!charSet.has(s[end])) {
            charSet.add(s[end]);
            maxStringLength = Math.max(charSet.size, maxStringLength);
            end++;
        } else {
            charSet.delete(s[start]);
            start++;
        }
    }

    return maxStringLength;
};
Enter fullscreen mode Exit fullscreen mode

Top comments (0)