Finish leetcode 1516.