can start and end at any node of the tree

use dfs to find and return one side max sum, use a global variable to record two sides max sum