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;
    }
};
相关推荐
程序员老陆1 小时前
深入理解 C++ thread_local:线程私有存储的正确打开方式
开发语言·c++·程序设计
夏幻灵2 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
Navigator_Z4 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
半杯咖啡半行码5 小时前
C++ 编程与 STL 模板:从泛型编程到内存安全详解
开发语言·c++
圣保罗的大教堂5 小时前
leetcode 301. 删除无效的括号 困难
leetcode
xh didida6 小时前
Linux -- 基础IO
linux·服务器·开发语言·c++
垆边人似月.6 小时前
华为机试题 :两数之和
c++·算法·华为
个 人 练 习 生6 小时前
C++ string 类模拟实现:从底层理解字符串(上)
开发语言·c++·经验分享·学习·程序人生
垆边人似月.6 小时前
华为机试题 :有效的括号
c++·算法·华为
坤坤子吖6 小时前
C++智能指针:RAII、shared_ptr与内存泄漏
开发语言·c++·笔记·学习