leetcode 337.打家劫舍 III

原题

337.打家劫舍 III
2020年8月5日 每日一题
leetcode 337.打家劫舍 III_第1张图片

题解

方法一 暴力递归

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
/*
@v7fgg
执行用时:939 ms, 在所有 Java 提交中击败了13.57%的用户
内存消耗:39.3 MB, 在所有 Java 提交中击败了91.00%的用户
2020年8月5日 9:59
*/
class Solution {
    public int rob(TreeNode root) {
        if(root==null){return 0;}
        int ans=root.val;
        //ans代表的时候不使用root两个子节点时的所得
        if(root.left!=null){
            ans+=rob(root.left.left)+rob(root.left.right);
        }
        if(root.right!=null){
            ans+=rob(root.right.left)+rob(root.right.right);
        }
        return Math.max(ans,rob(root.left)+rob(root.right));
    }
}

你可能感兴趣的:(可爱宝宝做leetcode,leetcode,java)