update postRootTraverse
update function levelTraverse