LeetCode 276