Neetcode Leetcode Problem 300