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;
    }
};
相关推荐
啊我不会诶几秒前
Educational Codeforces Round 120 (Rated for Div. 2) vp补题
c++·算法
埃伊蟹黄面5 分钟前
C++ —— 智能指针
开发语言·c++·算法
Pentane.9 分钟前
【力扣hot100】【Leetcode 54】螺旋矩阵|边界控制 算法笔记及打卡(19/100)
算法·leetcode·矩阵
大肥羊学校懒羊羊12 分钟前
质因数个数问题:高效分解算法详解
开发语言·c++·算法
米粒114 分钟前
力扣算法刷题Day 49(接雨水)
算法·leetcode·职场和发展
汪宁宇23 分钟前
(C++) Qt5.15.12 + GDAL库 等高线生成示例代码
c++·qt·等高线·gdal·等值线·rec533
6Hzlia37 分钟前
【Hot 100 刷题计划】 LeetCode 155. 最小栈 | C++ 打包状态法 (最优雅的 O(1) 检索)
java·c++·leetcode
Kurisu_红莉栖1 小时前
c++的复习——多态
开发语言·c++
草莓熊Lotso1 小时前
手搓工业级 C++ 线程安全日志系统:基于策略模式解耦,兼容 glog 使用风格
linux·运维·服务器·数据库·c++·安全·策略模式
pearlthriving1 小时前
STL容器及其底层
开发语言·c++·算法