LeetCode 276