diff options
Diffstat (limited to 'bt_max_path_sum.cpp')
-rw-r--r-- | bt_max_path_sum.cpp | 31 |
1 files changed, 0 insertions, 31 deletions
diff --git a/bt_max_path_sum.cpp b/bt_max_path_sum.cpp deleted file mode 100644 index ff39808..0000000 --- a/bt_max_path_sum.cpp +++ /dev/null @@ -1,31 +0,0 @@ -// 124. Binary Tree Maximum Path Sum -#include "leetcode.h" - -/* - * a path in a binary tree is a sequence of nodes where each pair of adjacent - * nodes in the sequence has an edge connecting them. a node can only appear in - * the sequence at most once. note that the path does not need to pass through - * the root. the path sum of a path is the sum of the node's value in the path. - * given the 'root' of a binary tree, return the maximum path sum of any non - * empty path - */ - -class Solution { -public: - int sum; - int maxPathSum(TreeNode *root) { - sum = INT_MIN; - solve(root); - return sum; - } - -private: - int solve(TreeNode *root) { - if (!root) - return 0; - int left = max(0, solve(root->left)); - int right = max(0, solve(root->right)); - sum = max(sum, left + right + root->val); - return max(left, right) + root->val; - } -}; |