博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
打家劫舍三
阅读量:3924 次
发布时间:2019-05-23

本文共 1246 字,大约阅读时间需要 4 分钟。

在这里插入图片描述

在这里插入图片描述

/** * Definition for a binary tree node. * public class TreeNode { *     int val; *     TreeNode left; *     TreeNode right; *     TreeNode(int x) { val = x; } * } */class Solution {    public int rob(TreeNode root) {            if(root == null) {                return 0;            }            //左孩子节点能偷的最大金额            int leftMoney = rob(root.left);            //右孩子节点能偷的最大金额            int rightMoney = rob(root.right);            //左孩子的左孩子节点能偷的最大金额            int leftChildLeftMoney = 0;            //左孩子的右孩子节点能偷的最大金额            int leftChildRightMoney = 0;            //右孩子的左孩子节点能偷的最大金额            int rightChildLeftMoney = 0;            //右孩子的右孩子节点能偷的最大金额            int rightChildRightMoney = 0;            if(root.left != null) {                leftChildLeftMoney = rob(root.left.left);                leftChildRightMoney = rob(root.left.right);            }            if(root.right != null) {                rightChildLeftMoney = rob(root.right.left);                rightChildRightMoney = rob(root.right.right);            }            //比较第一层孩子节点的金额总和与第二层所有孩子节点金额总和加上当前节点金额的最大值,即为结果     return Math.max(leftMoney + rightMoney, root.val + leftChildLeftMoney + leftChildRightMoney + rightChildLeftMoney + rightChildRightMoney);    }}

转载地址:http://awugn.baihongyu.com/

你可能感兴趣的文章
C语言中如何求任意一个int型数组的长度?
查看>>
蓝牙基带数据传输机理分析
查看>>
各种文件后缀名与打开方式大全
查看>>
利用Java的Properties 类读取配置文件信息
查看>>
用java读写ini配置文件
查看>>
java读取和修改ini配置文件实例代码
查看>>
网络字节序与主机字节序
查看>>
inet_aton和inet_network和inet_addr三者比较-《别怕Linux编程》之五
查看>>
组播通信
查看>>
setsockopt 设置socket 详细用法
查看>>
在局域网中实现多播功能
查看>>
什么叫组播地址(Multicast Address )?
查看>>
掌握IP地址知识 子网掩码与子网划分
查看>>
组播地址,IP组播地址
查看>>
什么是组播
查看>>
组播通信
查看>>
Linux网络编程一步一步学-UDP组播
查看>>
Linux C编程---网络编程
查看>>
在Linux创建库函数(1)
查看>>
在Linux创建库函数(2)
查看>>