Java | Leetcode Java题解之第404题左叶子之和

题目:

题解:

java 复制代码
class Solution {
    public int sumOfLeftLeaves(TreeNode root) {
        if (root == null) {
            return 0;
        }

        Queue<TreeNode> queue = new LinkedList<TreeNode>();
        queue.offer(root);
        int ans = 0;
        while (!queue.isEmpty()) {
            TreeNode node = queue.poll();
            if (node.left != null) {
                if (isLeafNode(node.left)) {
                    ans += node.left.val;
                } else {
                    queue.offer(node.left);
                }
            }
            if (node.right != null) {
                if (!isLeafNode(node.right)) {
                    queue.offer(node.right);
                }
            }
        }
        return ans;
    }

    public boolean isLeafNode(TreeNode node) {
        return node.left == null && node.right == null;
    }
}
相关推荐
Tisfy9 小时前
LeetCode 961.在长度 2N 的数组中找出重复 N 次的元素:5种语言x5种方法(及其变种) —— All By Hand
数据结构·数学·算法·leetcode·题解
Louis Maos9 小时前
堆与栈分配的本质区别
java·开发语言
人道领域10 小时前
【零基础学java】(HashMap源码解析--添加第一个元素)
java·哈希算法·散列表
毕设源码-朱学姐10 小时前
【开题答辩全过程】以 果蔬禽蛋生鲜食品采购配送系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
zfj32110 小时前
java线程的不同状态下调用interrupt()方法后的行为及注意事项
java·开发语言·interrupt·线程中断·线程状态
廋到被风吹走11 小时前
【Java】【Jdk】Jdk17->Jdk21
java·开发语言
叁散11 小时前
实验一:船舶位置感知与MMSI数据分析
java
im_AMBER12 小时前
Leetcode 93 找出临界点之间的最小和最大距离
c++·笔记·学习·算法·leetcode
研☆香12 小时前
什么是对象 什么是数组 区别是什么??
java·前端·javascript
利刃大大12 小时前
【SpringBoot】搭建Java部署环境 && 部署项目到Linux服务器
java·服务器·spring boot