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

news/2024/9/19 4:14:00 标签: C语言, Leetcode, 题解

题目:

题解

bool isLeafNode(struct TreeNode *node) {
    return !node->left && !node->right;
}

int sumOfLeftLeaves(struct TreeNode *root) {
    if (!root) {
        return 0;
    }
    struct TreeNode **q = malloc(sizeof(struct TreeNode *) * 2001);
    int left = 0, right = 0;
    q[right++] = root;
    int ans = 0;
    while (left < right) {
        struct TreeNode *node = q[left++];
        if (node->left) {
            if (isLeafNode(node->left)) {
                ans += node->left->val;
            } else {
                q[right++] = node->left;
            }
        }
        if (node->right) {
            if (!isLeafNode(node->right)) {
                q[right++] = node->right;
            }
        }
    }
    return ans;
}

http://www.niftyadmin.cn/n/5664957.html

相关文章

基于SpringBoot+Vue+MySQL的在线招投标系统

系统展示 用户前台界面 管理员后台界面 系统背景 在当今商业环境中&#xff0c;招投标活动是企业获取项目、资源及合作伙伴的重要途径。然而&#xff0c;传统招投标过程往往繁琐复杂&#xff0c;涉及众多文件交换、信息审核与沟通环节&#xff0c;不仅效率低下&#xff0c;还易…

MyISAM引擎介绍

文章目录 特点适用场景不足锁机制表级锁的类型锁的获取和释放锁的等待队列 示例共享锁排他锁READ LOCAL MyISAM是MySQL的一种存储引擎&#xff0c;它以其简单性和高速度而著称。在早期的MySQL版本中&#xff0c;MyISAM广泛使用&#xff0c;尤其是在那些以读操作为主的应用场景中…

SDKMAN!软件开发工具包管理器

认识一下SDKMAN!(The Software Development Kit Manager)是您在Unix系统上轻松管理多个软件开发工具包的可靠伴侣。想象一下&#xff0c;有不同版本的SDK&#xff0c;需要一种无感知的方式在它们之间切换。SDKMAN拥有易于使用的命令行界面&#xff08;CLI&#xff09;和API。其…

mac python安装库的问题——以requests为例

在 macOS 上安装 Python 的 requests 库&#xff0c;可以通过以下步骤完成&#xff1a; 打开终端&#xff1a; 可以在“应用程序” > “实用工具”中找到“终端”&#xff0c;或者通过 Spotlight 搜索“终端”。 确保已安装 Python&#xff1a; 输入以下命令检查 Python 是…

计算机毕业设计推荐-基于python的电子图书阅读推荐平台【源码+文档+讲解】

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于python的电子图书阅读推…

理解树形结构数据的操作(上)

树形结构数据 在Web开发中经常遇到树形数据的操作&#xff0c;如菜单、组织机构、行政区(省、市、县)等具有层级关系的数据。在数据结构和数据库设计中&#xff0c;处理树形结构数据时&#xff0c;有几种常见的方法&#xff0c;包括邻接表、嵌套集&#xff08;Nested Set&…

Spring Boot-静态资源管理问题

在Spring Boot中&#xff0c;静态资源管理是构建现代Web应用程序时必不可少的一部分。无论是处理静态页面、图片、CSS、JavaScript文件&#xff0c;还是一些自定义文件&#xff0c;正确管理这些资源能够提升用户体验和优化应用的性能。 1. Spring Boot中的静态资源管理概述 S…

执行测试_单元测试

在执行测试为主线&#xff0c;中间穿插质量特性&#xff0c;学会自动化工具的使用。 软件测试的过程 测试范围&#xff1a;逐渐增大&#xff1a;先使用白盒测试&#xff0c;然后黑盒测试的比例逐步增加。测试视角&#xff1a;从代码到使用 具体来说就是&#xff1a; 单元测试—…