zoukankan      html  css  js  c++  java
  • 【LeetCode】124. Binary Tree Maximum Path Sum

    Given a binary tree, find the maximum path sum.

    For this problem, a path is defined as any sequence of nodes from some starting node to any node in the tree along the parent-child connections. The path must contain at least one node and does not need to go through the root.

    For example:
    Given the below binary tree,

           1
          / 
         2   3
    

    Return 6.

    题解:

      感觉解题思路有点类似于动态规划,一个变量用于表示以此节点为根的最大路径和,另一个变量为全局变量,全局更新最大值

     1 class Solution {
     2 public:
     3     int maxPathSum(TreeNode* root) {
     4         if (!root)
     5             return 0;
     6         int res = INT_MIN;
     7         helper(root, res);
     8         return res;
     9     }
    10     
    11     int helper(TreeNode* root, int& res) {
    12         if (!root)
    13             return 0;
    14         
    15         int lmax = max(helper(root->left, res), 0);
    16         int rmax = max(helper(root->right, res), 0);
    17         res = max(lmax + rmax + root->val, res);
    18         return max(lmax, rmax) + root->val;
    19     }
    20 };
  • 相关阅读:
    数组
    Fiddler抓手机APP包
    APP测试注意点-安装卸载与运行
    【转】查看iOS崩溃日志
    Monkey 命令
    python del 函数
    探索性测试方法
    解决5037端口占用的方法
    App测试Android的闪退总结
    Jenkins邮件配置
  • 原文地址:https://www.cnblogs.com/Atanisi/p/8832131.html
Copyright © 2011-2022 走看看