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

LeetCode 404. 左叶子之和 java题解

https://leetcode.cn/problems/sum-of-left-leaves/

class Solution {
    int sum=0;
    public int sumOfLeftLeaves(TreeNode root) {
        if(root==null) return 0;
        TreeNode head=new TreeNode(0);//伪头节点
        head.right=root;//记录当前节点的上一个结点
        find(root,head);
        return sum;
    }
    public void find(TreeNode root,TreeNode pre){
        if(root==null) return;
        if(root.left==null&&root.right==null){//叶子结点
            if(pre.left==root){//是父亲节点的左孩子
                sum+=root.val;
            }
        }
        find(root.left,root);
        find(root.right,root);
    }
}
/*
叶子结点,并且是左叶子。
如何判断左叶子?记录上一个结点,如果上一个结点的左孩子是他,他就是左叶子。
*/

另一种思路判断左叶节点:
if (node->left != NULL && node->left->left == NULL && node->left->right == NULL) {
左叶子节点处理逻辑
}


http://www.kler.cn/a/580341.html

相关文章:

  • Git和GitHub基础教学
  • Netty入门教程
  • 【软考-架构】11.1、面向对象基本概念-分析设计测试
  • 配置 Thunderbird 以使用 outlook 邮箱
  • 深入解析 configService.addListener 使用中的注意事项
  • 如何利用 Excel 表格实现精准文件批量重命名教程
  • Python 编程题 第八节:字符串变形、压缩字符串、三个数的最大乘积、判定字符是否唯一、IP地址转换
  • ⭐LeetCode周赛 3468. 可行数组的数目——暴力与数学⭐
  • SpringBoot 如何调用 WebService 接口
  • C#主流日志库深度对比:NLog、log4net与Serilog如何选择?
  • 在vs中无法用QtDesigner打开ui文件的解决方法
  • BGP(三)联盟、反射器
  • 区块链概述及比特币工作原理
  • DeepSeek开源Day5:3FSsmallpond技术详解
  • 最大括号深度
  • 【面试】Kafka
  • 三个一行的多选框组
  • 破局企业AI落地难题!迅易科技DeepSeek私有化部署全场景解决方案
  • Swagger笔记
  • C#中的【Obsolete】属性Attribute