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))
相关推荐
皇族崛起1 分钟前
【视觉多模态】基于视觉AI的人物轨迹生成方案
人工智能·python·计算机视觉·图文多模态·视觉多模态
HealthScience2 分钟前
常见的微调的方式有哪些?(Lora...)
vscode·python
nimadan125 分钟前
**免费有声书配音软件2025推荐,高拟真度AI配音与多场景
人工智能·python
可触的未来,发芽的智生12 分钟前
完全原生态思考:从零学习的本质探索→刻石头
javascript·人工智能·python·神经网络·程序人生
叫我:松哥14 分钟前
基于Flask+ECharts+Bootstrap构建的微博智能数据分析大屏
人工智能·python·信息可视化·数据分析·flask·bootstrap·echarts
Swift社区17 分钟前
LeetCode 472 连接词
算法·leetcode·职场和发展
Dream it possible!19 分钟前
LeetCode 面试经典 150_二分查找_搜索旋转排序数组(114_33_C++_中等)
c++·leetcode·面试
Pyeako23 分钟前
Opencv计算机视觉--边界填充&图像形态学
人工智能·python·opencv·计算机视觉·pycharm·图像形态学·边缘填充
深蓝海拓29 分钟前
PySide6,QEventLoop.exec()的使用
笔记·python·qt·学习·pyqt
中等生30 分钟前
Fastapi中的 lifespan
python