Leetcode 628