算法漂流记-层数最深叶子节点的和
作者:互联网
题目
给你一棵二叉树,请你返回层数最深的叶子节点的和。
示例:
输入:
root = [1,2,3,4,5,null,6,7,null,null,null,null,8]
输出:
15
提示:
树中节点数目在 1 到 10^4 之间。
每个节点的值在 1 到 100 之间。
算法
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* struct TreeNode *left;
* struct TreeNode *right;
* };
*/
int max_deep =0, ret=0;
void deepNumAndSum(struct TreeNode* root, int deep)
{
if(NULL == root)
{
return ;
}
if(deep > max_deep)
{
ret = 0;
max_deep = deep;
}
if(deep == max_deep)
{
ret += root->val;
}
deepNumAndSum(root->left,deep+1);
deepNumAndSum(root->right,deep+1);
}
int deepestLeavesSum(struct TreeNode* root){
ret =0;
max_deep=0;
deepNumAndSum(root,0);
return ret;
}
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/deepest-leaves-sum
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
标签:TreeNode,struct,漂流记,deep,层数,ret,null,root,节点 来源: https://blog.csdn.net/yangzqiao/article/details/104100556