当前位置: 首页 > news >正文

【力扣hot100题】(049)二叉树中的最大路径和

递归,新建递归函数返回是根节点的最大向下路径值,每次递归可以通过左右的递归值判断当前节点要不要连接左右节点,由此更新result,并且返回当前节点连接左右节点中最大的那个节点(或是选择不连接)的值。

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     TreeNode *left;
 *     TreeNode *right;
 *     TreeNode() : val(0), left(nullptr), right(nullptr) {}
 *     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
 *     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
 * };
 */
class Solution {
public:
    int result=-1001;
    int maxPath(TreeNode* root){
        if(root==nullptr) return 0;
        int l=maxPath(root->left);
        int r=maxPath(root->right);
        if(l>=0&&r>=0) result=max(result,l+r+root->val);
        else if(l>=0) result=max(result,root->val+l);
        else if(r>=0) result=max(result,root->val+r);
        else{
            result=max(result,root->val);
            return root->val;
        }
        return root->val+max(l,r);
    }
    int maxPathSum(TreeNode* root){
        result=max(result,maxPath(root));
        return result;
    }
};

http://www.dtcms.com/a/108693.html

相关文章:

  • go mod download报错解决方案
  • 原生 AJAX
  • fastAPI详细介绍以及使用方法
  • Python数据可视化-第6章-坐标轴的定制
  • (学习总结32)Linux 基础 IO
  • AUTOSAR_LIN_Interface_Detailed
  • Windows 图形显示驱动开发-WDDM 2.1 功能(四)
  • 追踪大型语言模型的思维过程:提示词工程重要
  • 高效创建工作流,可实现类似unreal engine的蓝图效果,内部使用多线程高效执行节点函数
  • Oracle触发器使用(一):DML触发器
  • 高可用的Hadoop完全分布式环境搭建
  • 10分钟私有部署QwQ-32B模型,像购买Ecs实例一样快捷
  • 机器学习-聚类分析算法
  • P10914 [蓝桥杯 2024 国 B] 跳石
  • python 爬取网站图片的小demo
  • 【AI论文】CodeARC:评估归纳程序合成中大语言模型代理的推理能力基准
  • Xilinx FPGA XCVC1902-2MSEVSVA2197 Versal AI Core系列芯片的详细介绍
  • Java中的方法重载
  • 第J3-1周:DenseNet算法 实现乳腺癌识别(含真实图片预测)
  • 牛客练习题——素数(质数)
  • 策略模式实际用处,改吧改吧直接用,两种方式
  • DataFrame行索引操作以及重置索引
  • 第二期:深入理解 Spring Web MVC [特殊字符](核心注解 + 进阶开发)
  • Golang封装Consul 服务发现库
  • Linux进程管理与进程间通信
  • 如何将本地项目上传到Gitee的指定分支
  • 【2-6】数字调制
  • 蓝桥杯2024JavaB组的一道真题的解析
  • 云计算:基础、概念与未来展望
  • vue2拖拉拽做个模拟公式工具