/** * @param {string} s * @return {number} */ function lengthOfLongestSubstring (s) { // Base cases if (s.length <= 1) return s.length var loop; var subStr; var iterator; var length = 0; // Iterate over the string for (var i = 0; i < s.length; i++) { iterator = i; loop = true; subStr = ''; // Given the current character, iterate over the remaining string to the right of that character while (loop) { subStr += s[iterator]; iterator++; if (subStr.includes(s[iterator]) || iterator >= s.length) { loop = false; if (subStr.length > length) { length = subStr.length; } } } } return length; } lengthOfLongestSubstring("abcabcbb"); // 3 lengthOfLongestSubstring("bbbbb"); // 1 lengthOfLongestSubstring("pwwkew"); // 3