C++ | Leetcode C++题解之第404题左叶子之和

题目:

题解:

cpp 复制代码
class Solution {
public:
    bool isLeafNode(TreeNode* node) {
        return !node->left && !node->right;
    }

    int sumOfLeftLeaves(TreeNode* root) {
        if (!root) {
            return 0;
        }

        queue<TreeNode*> q;
        q.push(root);
        int ans = 0;
        while (!q.empty()) {
            TreeNode* node = q.front();
            q.pop();
            if (node->left) {
                if (isLeafNode(node->left)) {
                    ans += node->left->val;
                }
                else {
                    q.push(node->left);
                }
            }
            if (node->right) {
                if (!isLeafNode(node->right)) {
                    q.push(node->right);
                }
            }
        }
        return ans;
    }
};
相关推荐
崇山峻岭之间6 分钟前
C++ Prime Plus 学习笔记041
c++·笔记·学习
_风华ts9 分钟前
虚函数与访问权限
c++
1001101_QIA13 分钟前
C++中不能复制只能移动的类型
开发语言·c++
LYFlied23 分钟前
【每日算法】LeetCode 234. 回文链表详解
算法·leetcode·链表
闻缺陷则喜何志丹24 分钟前
【组合数学】P9418 [POI 2021/2022 R1] Impreza krasnali|普及+
c++·数学·组合数学
晨曦夜月1 小时前
头文件与目标文件的关系
linux·开发语言·c++
刃神太酷啦1 小时前
C++ list 容器全解析:从构造到模拟实现的深度探索----《Hello C++ Wrold!》(16)--(C/C++)
java·c语言·c++·qt·算法·leetcode·list
承渊政道1 小时前
一文彻底搞清楚链表算法实战大揭秘和双向链表实现
c语言·数据结构·算法·leetcode·链表·visual studio
有点。2 小时前
C++ ⼀级 2023 年09 ⽉
c++
LXS_3572 小时前
Day 16 C++提高之模板
开发语言·c++·笔记·学习方法