Leetcode 643 Solution