binary tree DFS with recursion