404. 左叶子之和

404. 左叶子之和

原题

java 复制代码
/**
 * 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 {
    int sum = 0;
    public int sumOfLeftLeaves(TreeNode root) {
        //第二个参数代表当前结点是左节点(1),还是右节点(0),一开始传0,让头结点不参与运算
        dfs(root,0);
        return sum;
    }

    public void dfs(TreeNode node,int i){
        if(node==null){
            return;
        }
        //为叶子结点
        if(node.left==null&&node.right==null){
            //为左叶子节点
            if(i==1){
                sum += node.val;
            }
        }
        //左子树递归
        dfs(node.left,1);
        //右子树递归
        dfs(node.right,0);
    }
}   
相关推荐
客卿1236 分钟前
动态规划--模板--完全背包
算法·动态规划
L-影12 分钟前
下篇:一棵树能长成多少种样子?——AI中决策树的类型与作用,以及它凭什么活了六十年还没过气
人工智能·算法·决策树·ai
mifengxing14 分钟前
力扣HOT100——(1)两数之和
java·数据结构·算法·leetcode·hot100
無限進步D17 分钟前
算竞常用STL cpp
开发语言·c++·算法·竞赛
仟濹24 分钟前
【算法打卡day34(2026-03-30 周一)】DFS专项训练(今日算法:DFS & 记忆化搜索 & 回溯)
算法·深度优先
罗湖老棍子28 分钟前
【 例 1】区间和(信息学奥赛一本通- P1547)(基础线段树和单点修改区间查询树状数组模版)
数据结构·算法·线段树·树状数组·单点修改 区间查询
旺仔.2911 小时前
常用算法 详解
数据结构·算法
今儿敲了吗1 小时前
算法复盘——差分
数据结构·c++·笔记·学习·算法
qq_398586541 小时前
平衡三进制超前进位加法器
算法
西西弟1 小时前
最短路径之Dijkstra算法(数据结构)
数据结构·算法