这次贼要抢二叉树了。相邻的节点不能被抢
还是利用之前的思想。
是否要抢当前的节点由他的子节点和子子节点决定。
var rob = function(root) {
if (!root)
return 0;
var val = 0;
var left = rob(root.left);
var right = rob(root.right);
if (root.left) {
val += root.left.left ? root.left.left.val : 0;
val += root.left.right ? root.left.right.val : 0;
}
if (root.right) {
val += root.right.left ? root.right.left.val : 0;
val += root.right.right ? root.right.right.val : 0;
}
root.val = Math.max(val + root.val, left + right);
return root.val;
};
网友评论