当前位置:网站首页>【LeetCode每日一题】——404.左叶子之和
【LeetCode每日一题】——404.左叶子之和
2022-07-30 00:52:00 【IronmanJay】
一【题目类别】
- 二叉树
二【题目难度】
- 简单
三【题目编号】
- 404.左叶子之和
四【题目描述】
- 给定二叉树的根节点 root ,返回所有左叶子之和。
五【题目示例】
示例 1:

输入: root = [3,9,20,null,null,15,7]
输出: 24
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24示例 2:
输入: root = [1]
输出: 0
六【题目提示】
- 节点数在 [1, 1000] 范围内
- -1000 <= Node.val <= 1000
七【解题思路】
- 这个题思路比较简单,首先想到递归,但是应该怎么进行递归呢?
- 首先我们要求的节点应该是左子树节点
- 其次这个左子树节点还应该是叶子节点
- 基于以上两点进行判断,将其求和返回即可
八【时间频度】
- 时间复杂度: O ( l o g 2 N ) O(log_{2}N) O(log2N),其中 N N N为树的结点个数
- 空间复杂度: O ( l o g 2 N ) O(log_{2}N) O(log2N),其中 N N N为树的结点个数
九【代码实现】
- Java语言版
package Tree;
public class p404_SumOfLeftLeaves {
int val;
p404_SumOfLeftLeaves left;
p404_SumOfLeftLeaves right;
public p404_SumOfLeftLeaves() {
}
public p404_SumOfLeftLeaves(int val) {
this.val = val;
}
public p404_SumOfLeftLeaves(int val, p404_SumOfLeftLeaves left, p404_SumOfLeftLeaves right) {
this.val = val;
this.left = left;
this.right = right;
}
public static void main(String[] args) {
p404_SumOfLeftLeaves root = new p404_SumOfLeftLeaves(3);
p404_SumOfLeftLeaves left = new p404_SumOfLeftLeaves(9);
p404_SumOfLeftLeaves right = new p404_SumOfLeftLeaves(20);
p404_SumOfLeftLeaves right1 = new p404_SumOfLeftLeaves(15);
p404_SumOfLeftLeaves right2 = new p404_SumOfLeftLeaves(7);
root.left = left;
root.right = right;
right.left = right1;
right.right = right2;
int res = sumOfLeftLeaves(root);
System.out.println("res = " + res);
}
public static int sumOfLeftLeaves(p404_SumOfLeftLeaves root) {
if (root == null) {
return 0;
}
int res = 0;
if (root.left != null && root.left.left == null && root.left.right == null) {
res += root.left.val;
}
return res + sumOfLeftLeaves(root.left) + sumOfLeftLeaves(root.right);
}
}
- C语言版
#include<stdio.h>
struct TreeNode
{
int val;
struct TreeNode *left;
struct TreeNode *right;
};
int sumOfLeftLeaves(struct TreeNode* root)
{
if (root == NULL)
{
return 0;
}
int res = 0;
if (root->left != NULL && root->left->left == NULL && root->left->right == NULL)
{
res += root->left->val;
}
return res + sumOfLeftLeaves(root->left) + sumOfLeftLeaves(root->right);
}
/*主函数省略*/
十【提交结果】
Java语言版

C语言版

边栏推荐
- Worthington细胞分离技术丨基本原代细胞分离方法和材料
- FlutterBoost 3.0出现 Activity无法转换为ExclusiveAppComponent<Activity>的解决办法
- go语言解决自定义header的跨域问题
- Worthington Dissociation Enzymes: Collagenase and Four Basic Profiles
- exness: U.S. GDP shrinks, yen bounces back
- 机器人的运动范围
- Since the media increase play a short video?From the three aspects
- 【励志】科比精神
- How do we-media people create explosive articles?These 3 types of articles are most likely to explode
- 软考 --- 数据库(5)数据库控制
猜你喜欢

STM32 - OLED display experiment

Meetings OA To Be Meeting && All Meetings

低压差线性稳压器MPQ2013A-AEC1品牌MPS国产替代

Worthington优化技术:细胞定量

Validation Framework-01

The range of motion of the robot

Worthington解离酶:中性蛋白酶(分散酶)详情解析

Based on TNEWS 'today's headline news in Chinese short text classification

Google Chrome (google) is set to translate Chinese, the translation option does not take effect or the translation option does not pop up

机器人的运动范围
随机推荐
Nacos配置中心用法详细介绍
【励志】科比精神
Unity笔记——FairyGUI
Towhee 每周模型
Print linked list from end to beginning
Based on TNEWS 'today's headline news in Chinese short text classification
“灯塔工厂”的中国路径:智造从点到面铺开
经典毕业设计:基于SSM实现高校后勤报修系统
中文语义匹配
Reconstruction of binary tree
Missing X64 mfc140u. DLL file - > application cannot normal boot (0 xc000007b) solution
Worthington用于细胞收获的胰蛋白酶&细胞释放程序
what is a .pro file in qt
Self-study HarmonyOS application development (56) - Use Service to ensure that the application runs continuously in the background
每周推荐短视频:研发效能是什么?它可以实现反“内卷”?
Selenium上传文件有多少种方式?不信你有我全
如何在AWS里面的SQL server设置混合登陆
CNN的粗浅理解
会议OA之待开会议&&所有会议
Worthington's tried and tested cell isolation system protocols