栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Leetcode题库404. 左叶子之和(递归 c实现)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Leetcode题库404. 左叶子之和(递归 c实现)

文章目录
  • 思路
  • 代码

思路

0、提示
下面的代码在leetcode上通不过
原因是这样一棵树:

官方给出的答案:4
我给出的答案:6
也许是我对题目理解有问题,或者说[1,2,3,4,5]表示的二叉树不是上面那一棵,我的代码是2+4

1、函数作用
sumOfLeftLeaves函数的作用:给定节点返回以该节点为顶点的二叉树的左叶子之和

2、递归式
root左叶子之和=root左节点val+其左节点为顶点的二叉树的左叶子之和+其右节点为顶点的二叉树的左叶子之和

3、编程思路
若当前节点为空,则返回0
若当前节点非空则返回当前左节点val+当前左节点为顶点的二叉树的左叶子之和+当前右节点为顶点的二叉树的左叶子之和

代码
int sumOfLeftLeaves(struct TreeNode* root){
    int ret=0;
    if(root==NULL) return ret; 
    if(root->left!=NULL) ret=root->left->val;
    ret+=sumOfLeftLeaves(root->left);
    ret+=sumOfLeftLeaves(root->right);
    return ret;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/932249.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号