Leetcode Problem 46 Solution