add solution to find the longest substring without repeating characters