原题:#337_打家劫舍Ⅲ
- 节点设置
- 当前节点为爷爷节点
- 下一节点为儿子节点
- 下下节点为孙子节点
- 偷盗情况
- 只偷儿子(左儿子、右儿子)
- 偷爷爷和孙子
public int rob(TreeNode root) {
if (root == null) return 0;
int val1 = root.val; //爷爷节点的值
if (root.left != null) val1 += rob(root.left.left) + rob(root.left.right); //爷爷+孙子
if (root.right != null) val1 += rob(root.right.left) + rob(root.right.right);
int val2 = rob(root.left) + rob(root.right);//儿子
return Math.max(val1, val2);
}