Find the longest substring of a string that does not contain duplicate characters