天池 在线编程 最大子树(自底向上)
生活随笔
收集整理的這篇文章主要介紹了
天池 在线编程 最大子树(自底向上)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
- 1. 題目
- 2. 解題
1. 題目
描述
給你一棵二叉樹,找二叉樹中的一棵子樹,他的所有節點之和最大。
返回這棵子樹的根節點。
我會把你返回的節點作為最優子樹的樹根來打印。
數據保證有且僅有唯一的解。
https://tianchi.aliyun.com/oj/456013639031220453/490558435244577688
2. 解題
/*** Definition of TreeNode:* class TreeNode {* public:* int val;* TreeNode *left, *right;* TreeNode(int val) {* this->val = val;* this->left = this->right = NULL;* }* }*/class Solution {int ans = INT_MIN;TreeNode *res = NULL; public:/*** @param root: the root of binary tree* @return: the maximum weight node*/TreeNode * findSubtree(TreeNode * root) {// write your code herefind(root);return res;}int find(TreeNode* root){if(!root) return INT_MIN;int l = find(root->left); // 左子樹的總和l = (l==INT_MIN ? 0 : l);int r = find(root->right);// 右子樹的總和r = (r==INT_MIN ? 0 : r);int s = l+r+root->val; //當前子樹的總和if(s > ans)// 記錄最大的{ans = s;res = root;}return s;} };我的CSDN博客地址 https://michael.blog.csdn.net/
長按或掃碼關注我的公眾號(Michael阿明),一起加油、一起學習進步!
總結
以上是生活随笔為你收集整理的天池 在线编程 最大子树(自底向上)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1936. 新增的最少
- 下一篇: HDFS依然是存储的王者