网站建设服务费记入什么科目,想找人做网站 要怎么选择,淘宝店铺代运营一般怎么收费,网站建设模拟文章目录1. 题目2. 解题1. 题目
描述
给你一棵二叉树#xff0c;找二叉树中的一棵子树#xff0c;他的所有节点之和最大。 返回这棵子树的根节点。 我会把你返回的节点作为最优子树的树根来打印。 数据保证有且仅有唯一的解。
示例
样例 1:
输入:
{1,-5,2,0,3,-4,-5}
输出…
文章目录1. 题目2. 解题1. 题目
描述
给你一棵二叉树找二叉树中的一棵子树他的所有节点之和最大。 返回这棵子树的根节点。 我会把你返回的节点作为最优子树的树根来打印。 数据保证有且仅有唯一的解。
示例
样例 1:
输入:
{1,-5,2,0,3,-4,-5}
输出:3
说明
这棵树如下所示1/ \-5 2/ \ / \
0 3 -4 -5
以3为根的子树只有3一个节点的和是最大的所以返回3。样例 2:
输入:
{1}
输出:1
说明:
这棵树如下所示1
这棵树只有整体这一个子树所以返回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 (lINT_MIN ? 0 : l);int r find(root-right);// 右子树的总和r (rINT_MIN ? 0 : r);int s lrroot-val; //当前子树的总和if(s ans)// 记录最大的{ans s;res root;}return s;}
};我的CSDN博客地址 https://michael.blog.csdn.net/
长按或扫码关注我的公众号Michael阿明一起加油、一起学习进步