use previous level to stitch up next pointers, each time find the next one with at least 1 child