1339. 分裂二叉树的最大乘积
给你一棵二叉树,它的根为 root 。请你删除 1 条边,使二叉树分裂成两棵子树,且它们子树和的乘积尽可能大。
由于答案可能会很大,请你将结果对 10^9 + 7 取模后再返回。
链接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
   | 
 
 
 
 
 
 
 
 
 
 
  var maxProduct = function(root) {   let sum = 0   function count(node) {     if (node == null) return     sum += node.val     count(node.left)     count(node.right)   }   count(root)   let best = 0   function findMax(node) {     if (node === null) return 0     const cur = findMax(node.left) + findMax(node.right) + node.val     if (Math.abs(cur * 2 - sum) < Math.abs(best * 2 - sum)) {       best = cur     }     return cur   }   findMax(root)
    return best * (sum - best) % 1000000007 };
 
  |