Python | Leetcode Python题解之第337题打家劫舍III

题目:

题解:

python 复制代码
# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#         self.val = x
#         self.left = None
#         self.right = None

class Solution:
    def rob(self, root: TreeNode) -> int:
        def _rob(root):
            if not root: return 0, 0  # 偷,不偷

            left = _rob(root.left)
            right = _rob(root.right)
            # 偷当前节点, 则左右子树都不能偷
            v1 = root.val + left[1] + right[1]
            # 不偷当前节点, 则取左右子树中最大的值
            v2 = max(left) + max(right)
            return v1, v2

        return max(_rob(root))
相关推荐
苦瓜小生3 分钟前
AI-TestHub:我如何从零开发一个智能测试用例生成平台
人工智能·python·测试工具·github·测试用例·fastapi
阿钱真强道6 分钟前
31 Python 聚类:层次聚类怎么理解?AGNES 和 DIANA 有什么区别?
python·聚类·层次聚类·diana·agnes
小王不爱笑1326 分钟前
Java 泛型详解
java·windows·python
桃气媛媛6 分钟前
python流程控制-匹配语句match
开发语言·python
阿Y加油吧8 分钟前
力扣打卡——反转链表、回文链表判断 题解
算法·leetcode
羊小猪~~8 分钟前
算法/力扣--数组典型题目
c语言·c++·python·算法·leetcode·职场和发展·求职招聘
无敌昊哥战神9 分钟前
LeetCode 112. 路径总和 - 避坑指南与多语言全解法(C/C++/Python)
c语言·c++·leetcode
龙文浩_11 分钟前
【无标题】AI深层神经网络(多层全连接)+ ReLU 激活 的完整处理流程
人工智能·python·深度学习·神经网络·机器学习
x_xbx11 分钟前
LeetCode:198. 打家劫舍
算法·leetcode·职场和发展
_日拱一卒11 分钟前
LeetCode:盛最多水的容器
数据结构·算法·leetcode