merge intervals, sort first
populating-next-right-pointers-in-each-node, bfs and queue
search-insert-position, return first element no smaller than target