finish leetcode_412.
finish leetcode_413.
finish leetcode_517.