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

LeetCode[404]左叶子之和

思路:


题目要求求出左叶子的和,左叶子的条件是左右节点为空且是左子树的叶子节点才叫左叶子节点,那么右子树的左叶子节点的和是什么呢?这样想就引出了递归的顺序,后序遍历,求出左右子树的节点和,再算根节点。遍历时加上条件,如果是左叶子节点就算在根节点头上,因为这时候根节点这棵树的和就是左叶子的和了。

代码:

/*** Definition for a binary tree node.* public class TreeNode {*     int val;*     TreeNode left;*     TreeNode right;*     TreeNode() {}*     TreeNode(int val) { this.val = val; }*     TreeNode(int val, TreeNode left, TreeNode right) {*         this.val = val;*         this.left = left;*         this.right = right;*     }* }*/
class Solution {public int sumOfLeftLeaves(TreeNode root) {if (root == null) return 0;int leftValue = sumOfLeftLeaves(root.left);    // 左int rightValue = sumOfLeftLeaves(root.right);  // 右int midValue = 0;if (root.left != null && root.left.left == null && root.left.right == null) { midValue = root.left.val;}int sum = midValue + leftValue + rightValue;  // 中return sum;}}

http://www.xdnf.cn/news/10628.html

相关文章:

  • Flink 失败重试策略 :restart-strategy.type
  • 八股学习-JS的闭包
  • GaLore:基于梯度低秩投影的大语言模型高效训练方法详解一
  • LeetCode第244题_最短单词距离II
  • 使用 C++/OpenCV 制作跳动的爱心动画
  • Unity Mac 笔记本操作入门
  • YOLO-V2 (学习记录)
  • Ubuntu 挂载新盘
  • React知识点梳理
  • VR教育:开启教育新时代的钥匙
  • 【C++高并发内存池篇】性能卷王养成记:C++ 定长内存池,让内存分配快到飞起!
  • 解决Vue3+uni-app导航栏高亮自动同步方案
  • 什么是C语言块级变量
  • 使用NMEA Tools生成GPS轨迹图
  • 湖北理元理律所:企业债务重组中的“法律缓冲带”设计
  • 重温经典算法——堆排序
  • 九(1). 引用作为函数参数的使用
  • DDR5舍入定义和算法Rounding Definitions and Algorithms详细讲解
  • 第17讲、odoo18可视化操作代码生成模块
  • L2-054 三点共线 - java
  • 【LeetCode】数组|枚举|数学题型刷题汇总
  • 头像预览和上传
  • 第一章:计算机系统概论
  • Y1——链式前向星
  • 在 Linux 服务器上无需 sudo 权限解压/打包 .7z 的方法(实用命令)
  • 21-CS61B-lab6:java文件操作以及持久化一见
  • BiliNote简介
  • 第100期 DL,多输入多输出通道
  • 学习STC51单片机25(芯片为STC89C52RCRC)
  • edg浏览器打开后默认是360界面