leetcode 283 solution