首页 > 其他分享 >124. 二叉树中的最大路径和

124. 二叉树中的最大路径和

时间:2024-12-10 20:20:28浏览次数:3  
标签:int sum 路径 124 二叉树 root 节点

问题描述

二叉树中的 路径 被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。同一个节点在一条路径序列中 至多出现一次 。该路径 至少包含一个 节点,且不一定经过根节点。

路径和 是路径中各节点值的总和。

给你一个二叉树的根节点 root ,返回其 最大路径和 。

分析

树形DP,还没完全弄明白。

递归

class Solution {
public:
    int res = -1e9;
    int solve(TreeNode* root) {
        int l_sum = 0, r_sum = 0;
        if (root == nullptr) {
            return 0;
        }
        l_sum = solve(root->left);
        r_sum = solve(root->right);
        res = max(res, l_sum+r_sum+root->val);
        return max(max(l_sum, r_sum)+root->val, 0);
    }

    int maxPathSum(TreeNode* root) {
        solve(root);
        return res;
    }
};

标签:int,sum,路径,124,二叉树,root,节点
From: https://www.cnblogs.com/saulstavo/p/18597960

相关文章

  • 236. 二叉树的最近公共祖先
    问题描述给定一个二叉树,找到该树中两个指定节点的最近公共祖先。百度百科中最近公共祖先的定义为:“对于有根树T的两个节点p、q,最近公共祖先表示为一个节点x,满足x是p、q的祖先且x的深度尽可能大(一个节点也可以是它自己的祖先)。”分析使用递归解决比较简单,但是不太......
  • 437. 路径总和 III
    问题描述给定一个二叉树的根节点root,和一个整数targetSum,求该二叉树里节点值之和等于targetSum的路径的数目。路径不需要从根节点开始,也不需要在叶子节点结束,但是路径方向必须是向下的(只能从父节点到子节点)。分析暴力解法,枚举每个结点开始是否有符合题意的路径,需要df......
  • 105. 从前序与中序遍历序列构造二叉树
    问题描述分析逻辑上,从前序遍历中依次从前往后获取根结点,从中序里获取根结点的序号后可以获取左子树和右子树,递归构建树即可。分治/递归classSolution{public:vector<int>preorder;vector<int>inorder;unordered_map<int,int>um;//分治TreeNo......
  • 图常见算法大全( 三种遍历算法 + 三种最短路径算法 + 两种最小生成树)
    图的经典算法完整版万字原文见史上最全详解图数据结构一、图的遍历算法1.voidDFS(intstartVertex);2.voidBFS(intstartVertex);3.voidTopologicalSort();(两种实现方式)1.DFS(深度优先搜索)算法原理是一种用于遍历或搜索图(包括树)中节点的算法。其基本思想......
  • LCR 048. 二叉树的序列化与反序列化(困难)(主站297)
    https://leetcode.cn/problems/h54YBf/https://leetcode-cn.com/problems/serialize-and-deserialize-binary-tree/难度:☆☆☆题目:序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另......
  • springboot filter 自定义开放路径
     privateList<String>excludePathPatterns=Arrays.asList("/login/001","/v2/api-docs","/swagger-resources/**","/swagger-ui.html","/we......
  • 写一个方法,实现树的路径查询[代码]
    /***树路径查询函数*@param{Array<Object>}treeData-树数据,格式为[{id:1,name:'Node1',children:[...]},...]*@param{string|number}targetId-目标节点的ID*@returns{Array<Object>|null}-返回从根节点到目标节点的路径数组,找不到则返回......
  • java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
    @目录java实现下载hdfs文件及文件夹说明:java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下1.下载xxx文件2.下载xx文件夹java实现下载hdfs文件及文件夹说明:java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下<!......
  • 重生之我在学Vue-- Vue3 学习路径总览
    重生之我在学Vue--Vue3学习路径总览文章目录重生之我在学Vue--Vue3学习路径总览前言Day1-10:基础阶段Day1:Vue3基础与开发环境搭建Day2:CompositionAPI与响应式系统Day3:模板语法与指令Day4:组件化开发Day5:路由管理(VueRouter)Day6:状态管理(Pinia)Day7:数据请求(A......
  • PAT 2024年春季 甲级 A-3 Degree of Skewness(二叉树的构建)
     给出后序和中序遍历序列,求出只有左子树和只有右子树的结点之差1#include<bits/stdc++.h>2usingnamespacestd;3intn;4intnl=0,nr=0;5structnode{6intdata,lchild=-1,rchild=-1;7};8vector<node>nodes(1005);9vector<int>in_o......