Binary Tree Maximum Path Sum with DFS