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;
    }
};
相关推荐
Seven9728 分钟前
算法题:数组中的第k个最大元素
java·leetcode
DARLING Zero two♡37 分钟前
C++内存列传之RAII宇宙:智能指针
c++·c++11·智能指针
阿飞__1 小时前
C++ 使用 ffmpeg 解码本地视频并获取每帧的YUV数据
c++·ffmpeg·音视频
鑫鑫向栄1 小时前
[蓝桥杯]最优包含
数据结构·c++·算法·职场和发展·蓝桥杯·深度优先
泛舟起晶浪1 小时前
网络寻路--图论
c++·算法
YKPG2 小时前
C++学习-入门到精通【13】标准库的容器和迭代器
c++·学习·stl
hn小菜鸡2 小时前
LeetCode 3370.仅含置位位的最小整数
算法·leetcode
早日退休!!!2 小时前
C++性能优化指南
开发语言·c++·性能优化
whoarethenext6 小时前
使用 C++/OpenCV 图像直方图比较两个图片相似度
开发语言·c++·opencv·直方图·相似度对比
花自向阳开10248 小时前
LeetCode hot100-11
数据结构·算法·leetcode