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))
相关推荐
蒙奇D索大34 分钟前
【算法】递归算法的深度实践:从布尔运算到二叉树剪枝的DFS之旅
笔记·学习·算法·leetcode·深度优先·剪枝
java1234_小锋2 小时前
[免费]基于Python的农产品可视化系统(Django+echarts)【论文+源码+SQL脚本】
python·信息可视化·django·echarts
Danceful_YJ2 小时前
31.注意力评分函数
pytorch·python·深度学习
程序员三藏2 小时前
快速弄懂POM设计模式
自动化测试·软件测试·python·selenium·测试工具·设计模式·职场和发展
小白程序员成长日记2 小时前
2025.11.10 力扣每日一题
数据结构·算法·leetcode
循环过三天4 小时前
3.1、Python-列表
python·算法
青青草原羊村懒大王4 小时前
python基础知识三
开发语言·python
傻啦嘿哟4 小时前
Python高效实现Word转HTML:从基础到进阶的全流程方案
人工智能·python·tensorflow
dragoooon344 小时前
[优选算法专题六.模拟 ——NO.40~41 外观数列、数青蛙]
数据结构·算法·leetcode
wu_jing_sheng05 小时前
深度学习入门:揭开神经网络的神秘面纱(附PyTorch实战)
python