代码随想录——左叶子之和(Leetcode404)

题目链接

BFS + 队列

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 {
    public int sumOfLeftLeaves(TreeNode root) {
        int sum = 0;
        Deque<TreeNode> queue = new LinkedList<TreeNode>();
        if(root == null){
            return sum;
        }
        queue.offer(root);
        while(!queue.isEmpty()){
            int size = queue.size();
            for(int i = 0; i < size; i++){
                TreeNode node = queue.poll();
                if(node.left != null){
                    queue.offer(node.left);
                    // 注意题目要求是求左叶子之和,所以需要判断一下左节点是否为叶子节点
                    if(node.left.left == null && node.left.right == null){
                        sum += node.left.val;
                    }
                }
                if(node.right != null){
                    queue.offer(node.right);
                }
            }
        }
        return sum;
    }
}
相关推荐
Shemol2 分钟前
二叉树的三种迭代遍历(无栈版本)-- 我在马克思主义课上的一些巧思
算法
d***9352 分钟前
【Spring】Cookie和Session是什么
java·后端·spring
胖咕噜的稞达鸭5 分钟前
进程状态,孤儿进程僵尸进程,Linux真实调度算法,进程切换
linux·运维·算法
蜂蜜黄油呀土豆15 分钟前
深入理解 Java Stream:从创建到过滤、归约、分组与聚合(带大量实战代码)
java·实战·stream流·api
一只叫煤球的猫29 分钟前
从 JDK1.2 到 JDK21:ThreadLocal的进化解决了什么问题
java·后端·面试
RTC老炮29 分钟前
webrtc降噪-WienerFilter源码分析与算法原理
算法·webrtc
天马行空-40 分钟前
ES 精准匹配 和 模糊查询的实现方式
java·开发语言
Z***25801 小时前
Java计算机视觉
java·开发语言·计算机视觉
一点事1 小时前
ruoyi:集成mybatisplus实现mybatis增强
java·开发语言·mybatis
e***87701 小时前
Tomcat Request Cookie 丢失问题
java·tomcat·firefox