Leetcode 349 Solution