Leetcode1302–层数最深叶子结点的和(深搜/递归)

简介: Leetcode1302–层数最深叶子结点的和(深搜/递归)

给你一棵二叉树的根节点 root ,请你返回 层数最深的叶子节点的和 。

c7aff1df0b694ddeb01f038df8c0df6e.jpg

思路简单,注意到深度改变时,sum清零

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 *     struct TreeNode *left;
 *     struct TreeNode *right;
 * };
 */
struct TreeNode* dfs(struct TreeNode* root,int deepth,int * sum,int *max_deepth)
{
    if(root == NULL)
        return NULL;
    if(deepth > (*max_deepth))
    {
        (*max_deepth) = deepth;
        (*sum) = 0; //guiling heihei
    }
    struct TreeNode *left,*right;
    left = dfs(root->left,deepth+1,sum,max_deepth);
    right = dfs(root->right,deepth+1,sum,max_deepth); //没有&&&&
    if(left == NULL && right == NULL && deepth == (*max_deepth))
        (*sum) += root->val;
    return root;
}
int deepestLeavesSum(struct TreeNode* root){
    int sum = 0;
    if(root == NULL)
        return 0;
    int max_deepth = 0;
    dfs(root,0,&sum,&max_deepth); //&&&&
    return sum;
}
相关文章
|
8月前
|
机器学习/深度学习
【Leetcode】面试题 08.05. 递归乘法、HJ55 挑7
目录 面试题 08.05. 递归乘法 HJ55 挑7
43 0
|
21天前
|
算法
【刷题】 leetcode 面试题 08.05.递归乘法
递归算法是一种在计算机科学和数学中广泛应用的解决问题的方法,其基本思想是利用问题的自我相似性,即将一个大问题分解为一个或多个相同或相似的小问题来解决。递归算法的核心在于函数(或过程)能够直接或间接地调用自身来求解问题的不同部分,直到达到基本情况(也称为基础案例或终止条件),这时可以直接得出答案而不必再进行递归调用。
30 4
【刷题】 leetcode 面试题 08.05.递归乘法
|
21天前
|
算法
leetcode代码记录(二叉树递归遍历
leetcode代码记录(二叉树递归遍历
11 0
|
8月前
|
算法
代码随想录 Day11 二叉树 LeetCode T144,145,94 前中后序遍历 (递归解法)
代码随想录 Day11 二叉树 LeetCode T144,145,94 前中后序遍历 (递归解法)
30 0
|
21天前
|
存储
LeetCode题94,44,145,二叉树的前中后序遍历,非递归
LeetCode题94,44,145,二叉树的前中后序遍历,非递归
42 0
|
11月前
力扣203移除链表元素:思路分析+代码实现+方法总结(伪头节点法&递归)
力扣203移除链表元素:思路分析+代码实现+方法总结(伪头节点法&递归)
52 0
|
11月前
力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)
力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法&快慢指针法【双指针】&递归法)
45 0
|
11月前
力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)
力扣83删除排序链表中的重复元素:代码实现+思路分析+方法总结(快慢指针法&递归)
46 0
|
11月前
|
Sentinel
力扣19删除链表的倒数第 N 个结点:思路分析+图文全解+方法总结(快慢指针法&递归法)+深入思考
力扣19删除链表的倒数第 N 个结点:思路分析+图文全解+方法总结(快慢指针法&递归法)+深入思考
137 0
|
11月前
|
算法
力扣704二分查找:思路分析+代码实现(递归与非递归)
力扣704二分查找:思路分析+代码实现(递归与非递归)
82 0