题目表述:给定一个二叉树,请计算节点值之和最大的路径的节点值之和是多少。这个路径的开始节点和结束节点可以是二叉树中的任意节点。

解题思路:首先分析每一个节点可能存在地情况。一共分为四种。

第一种是左右两个结点都是负数,返回结点本身。

第二种情况是保留节点本身和左节点。

第三种情况是保留节点本身和右节点。

第四种情况是同时保留节点本身和左右结点。

设置一个最小整数进行判断,同时递归保留所有可能的最大路径。

    int maxPathSum(TreeNode* root) {// write code hereif(!root) return 0;int maxSum = INT_MIN;//这里的初始值必须设为一个不可能达到的负数 最大值有可能为负的情况maxlu(root,maxSum);//递归遍历所有结点的同时时刻更新可能的最大路径值return maxSum;}int maxlu(TreeNode *root, int& maxsum){if(!root) return 0;int Lu = maxlu(root->left,maxsum );int Ru = maxlu(root->right, maxsum);if(root->val>maxsum)maxsum = root->val;if((Lu+Ru+root->val)>maxsum)maxsum = Lu+Ru+root->val;int curVal =  Lu > Ru ? Lu + root->val : Ru + root->val;if(curVal>maxsum) maxsum = curVal;if(curVal > 0) return curVal;else return 0;

NC6 二叉树的最大路径和相关推荐

  1. 牛客题霸 NC6 二叉树的最大路径和

    https://www.nowcoder.com/practice/da785ea0f64b442488c125b441a4ba4a 解决方案 Go var res int = -1e10func m ...

  2. NC6 二叉树中的最大路径和

    这里写自定义目录标题 题目描述 思路 递归 题目描述 寻找二叉树中从任意节点开始的最大不重复路径和 示例: 输入:{1,2,3} 输出:6 原题链接:NC6 二叉树中的最大路径和 思路 拿到这道题第一 ...

  3. mysql递归查询所有上下节点_非递归打印二叉树的所有路径,保存父节点和孩子节点到底有啥差别...

    题目解读 题目要求输出二叉树的所有路径(字符串形式),乍一看很简单,不就是二叉树的遍历嘛!其实不然,首先,我们用非递归的方式(C++)解决这道题(递归在产品代码中是不允许使用的,其次定位 bug 的时 ...

  4. 257. 二叉树的所有路径 golang

    257. 二叉树的所有路径 给定一个二叉树,返回所有从根节点到叶子节点的路径. 说明: 叶子节点是指没有子节点的节点. 示例: 输入: 1/ \ 2 3\5 输出: ["1->2-&g ...

  5. Suzy找到实习了吗Day 17 | 二叉树进行中:110. 平衡二叉树,257 二叉树的所有路径,404. 左叶子之和

    110. 平衡二叉树 题目 判断一颗二叉树是否是平和二叉树:一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 . 我的错误trial 我通过写了一个函数(后序遍历 ...

  6. 【leetcode-DFS】求根节点到叶节点数字之和/二叉树的最大路径和/路径总和/左叶子之和/树的直径

    文章目录 求根节点到叶节点数字之和 深度优先搜索 广度优先搜索 二叉树的最大路径和 DFS 路径总和1 深度优先搜索 广度优先搜索 路径总和2 回溯法 广度优先搜索 左叶子之和 递归 DFS 树的直径 ...

  7. DS树--二叉树之最大路径

    题目描述 给定一颗二叉树的逻辑结构(先序遍历的结果,空树用字符'0'表示,例如AB0C00D00),建立该二叉树的二叉链式存储结构 二叉树的每个结点都有一个权值,从根结点到每个叶子结点将形成一条路径, ...

  8. 算法训练营 day17 二叉树 平衡二叉树 二叉树的所以路径 左叶子之和

    算法训练营 day17 二叉树 平衡二叉树 二叉树的所以路径 左叶子之和 平衡二叉树 110. 平衡二叉树 - 力扣(LeetCode) 给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高 ...

  9. 57. Leetcode 257. 二叉树的所有路径 (二叉树-二叉树路径和)

    给你一个二叉树的根节点 root ,按 任意顺序 ,返回所有从根节点到叶子节点的路径.叶子节点 是指没有子节点的节点.示例 1: 输入:root = [1,2,3,null,5] 输出:[" ...

最新文章

  1. Java程序流程控制(顺序结构、分支结构、循环结构、if-else、switch-case、for、while、do-while、break、continue、return)
  2. 开发日记-20190427
  3. Direct Byte Buffer的操作
  4. hive中分组取前N个值的实现
  5. 解决ubuntu和windows之间无法复制粘贴问题
  6. C语言版:二叉树叶子结点和非叶子结点求法
  7. 动态数据中心:微软私有云解决方案
  8. 讲解NPN与PNP三极管做开关管使用方法与计算
  9. 编译原理支配树部分名词介绍
  10. Win10 OpenCV编译安装CUDA版本
  11. Markdown/LaTeX数学符号、公式大全(一)
  12. 导带电子浓度和价带空穴浓度
  13. 计算机专业-找工作相关经验
  14. 实现球体碰撞,使用这个库就够了
  15. SAP之Suse For SAP 12 sp5安装教程(超详细)
  16. LSTM模型在测试集上的输出全都是一样的怎么办
  17. 水平集详解与代码分析一
  18. 高中信息技术计算机操作,高中信息技术《操作数据库》教案
  19. Linux下防御ARP欺骗
  20. C++实现数独,世界最难论秒出

热门文章

  1. R语言使用crossprod函数和tcrossprod函数计算矩阵matrix交叉积(Matrix Cross Product)、crossprod函数、tcrossprod函数计算矩阵和向量的交叉积
  2. 网页自动刷新JavaScript脚本
  3. 插入排序和希维尔排序算法的实现
  4. 叮咚音箱 服务器挂了吗 无法注册,叮咚音箱连不上网怎么解决
  5. 七年级下册计算机考试题,七年级下册信息技术复习题
  6. python pyh模块下载_1Python生成高质量Html文件:Pyh模块+Bootstrap框架
  7. 对话庄表伟老师-文字实录
  8. 家乡自有黄金屋 快手新乡村网红的“返乡经济学”
  9. 浅析担保机构的经营和风险控制
  10. 巨头围攻之下,独立云厂商前途何在?