当前位置: 首页 > news >正文

leetcode0404. 左叶子之和-easy

1 题目:左叶子之和

官方标定难度:易

给定二叉树的根节点 root ,返回所有左叶子之和。

示例 1:

在这里插入图片描述

输入: root = [3,9,20,null,null,15,7]
输出: 24
解释: 在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24

示例 2:

输入: root = [1]
输出: 0

提示:

节点数在 [1, 1000] 范围内
-1000 <= Node.val <= 1000

2 solution

深度优先搜索,如果叶子节点是左叶子就返回值,否则返回 0,非叶子节点,返回子树的左叶子和。

代码

/*** Definition for a binary tree node.* struct TreeNode {*     int val;*     TreeNode *left;*     TreeNode *right;*     TreeNode() : val(0), left(nullptr), right(nullptr) {}*     TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}*     TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}* };*/
class Solution {int f(TreeNode *root, TreeNode *p) {if (!root->left && !root->right) {if (root == p->left) return root->val;return 0;}int s = 0;if (root->left) s = f(root->left, root);if (root->right) s += f(root->right, root);return s;}public:int sumOfLeftLeaves(TreeNode *root) {int s = 0;if (root->left) s = f(root->left, root);if (root->right) s += f(root->right, root);return s;}
};

结果

在这里插入图片描述

相关文章:

  • ROS仓库GPG签名密钥过期问题
  • DAY 36 超大力王爱学Python
  • 车辆检测算法在爆炸事故应急响应中的优化路径
  • 邮件验证码存储推荐方式
  • 安卓jetpack compose学习笔记-UI基础学习
  • 【Redis】笔记|第4节|Redis数据安全性分析
  • 商品模块中的多规格设计:实现方式与电商/ERP系统的架构对比
  • day 42
  • 基于 LLM 的商城智能客服助理开发实战
  • 什么是缺页中断(缺页中断详解)
  • 概率单纯形(Probability Simplex)
  • 缓存一致性协议的影响
  • 语音转文字工具
  • learn react course
  • 【JavaScript-Day 28】告别繁琐循环:`forEach`, `map`, `filter` 数组遍历三剑客详解
  • Selenium Manager中文文档
  • Python-Selenium报错截图
  • hysAnalyser --- 逐包分析MPEG-TS的功能说明
  • 图文详解Java集合面试题
  • 量化面试绿皮书:1. 海盗分金博弈
  • 政府网站栏目建设反馈意见/b站视频推广网站
  • 网站没有织梦后台/新闻热点
  • 温州网站上排名/百度关键词搜索技巧
  • 网站建设详情页/企业网站怎么做
  • 百度网站制作联系方式/海口seo计费
  • 怎么做会员自动售卡网站/百度网络优化推广公司