public int maxToRoot(TreeNode n) {
        if (n == null) {
            return 0;
        } else {
            int sum = maxToRoot(n.left);
            sum = Math.max(sum, maxToRoot(n.right));
            return Math.max(0, n.val + sum);
        }
    }