first on a top-down order to level traversal then reverse and get result