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;
    }
};
相关推荐
故事和你9126 分钟前
洛谷-算法2-3-分治与倍增5
开发语言·数据结构·c++·算法·动态规划·图论
charlie11451419132 分钟前
通用GUI编程技术——图形渲染实战(三十九)——纹理与采样器:从WIC加载到GPU渲染
开发语言·c++·图形渲染·win32
北顾笙98043 分钟前
day37-数据结构力扣
数据结构·算法·leetcode
郭涤生1 小时前
std::condition_variable的使用及主要事项
开发语言·c++
小菜鸡桃蛋狗1 小时前
C++——list
开发语言·c++
handler011 小时前
Git 核心指令速查
linux·c语言·c++·笔记·git·学习
fish_xk1 小时前
c++中的多态
c++
汉克老师1 小时前
GESP2025年6月认证C++五级( 第三部分编程题(1、奖品兑换))
c++·二分算法·gesp5级·gesp五级
Lhan.zzZ1 小时前
笔记_2026.4.28_003
c++·笔记·qt·opencv
stolentime1 小时前
我常常追忆过去
c++·里程碑纪念