LeetCode Solution, Medium, 3. Longest Substring Without Repeating Char