Tree Traversal,输出错误

时间:2016-05-30 14:44:54

标签: java c++ tree binary-tree

我正在尝试解决此问题:https://leetcode.com/problems/house-robber-iii/

  小偷再次发现自己的盗窃新地方了。这个区域只有一个入口,称为" root。"除了根,每个房子只有一个父母的房子。参观结束后,聪明的小偷意识到这个地方的所有房屋都形成了一棵二叉树"。如果两个直接连接的房屋在同一天晚上被闯入,它将自动联系警察。

现在有了这个输入:

  

输入:[4,1,null,2,null,3]

那应该是这棵树:enter image description here

现在我认为正确的输出是4+2 = 6,但是leetcode说正确的是7。

我画错了树吗?如何在树上获得最多7次抢劫?

2 个答案:

答案 0 :(得分:1)

4号和3号也没有连接,所以4 + 3也会计数,并且会高于4 + 2.这是关于连接的节点。只要他们没有直接连接,小偷就可以抢劫他们,因此可以抢劫4 + 3。

答案 1 :(得分:1)

什么阻止你抢劫4 + 3 = 7?这两个“房子”没有直接联系。