binary tree level order traversal DFS