计算布尔二叉树的值

题目

题目链接

. - 力扣(LeetCode)

题目描述

代码实现

class Solution {
public:bool evaluateTree(TreeNode* root) {if(root->left == nullptr && root->right == nullptr) return root->val;bool left = evaluateTree(root->left);bool right = evaluateTree(root->right);return root->val == 2 ? left | right : left & right;}
};

思路分析

1、首先我们需要弄懂题意。即叶子节点表示bool值,非叶子节点表示 | 或者 &。将叶子节点中的布尔值和非叶子节点中的运算符进行运算,得到新的布尔值。

2、这道题我大体的思路是用的递归。当遇见叶子节点就直接返回其存储的布尔值。按照这样分别拿到左子树和右子树的布尔值。

3、通过非叶子节点即可运算出新的一个布尔值了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/525434.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv8.1.0安装

【YOLO】YOLOv8训练环境配置 python 3.8.18 cuda 11.3.1 cudnn 8.2.1 pytorch 1.12.1-gpu版 - 知乎 (zhihu.com) 一、Anaconda 默认装好了可用的Anaconda,安装教程见Win10系统anaconda安装 - 知乎 (zhihu.com) 二、在虚拟环境下用conda安装 1.创建虚拟环境 …

STM32H750片外QSPI启动配置简要

STM32H750片外QSPI启动配置简要 📍参考信息源:《STM32H750片外Flash启动(W25Q64JVSIQ)》🔖本例程基于Keil MDk开发平台。🍁配置框架: ✨为什么使用要使用QSPI启动方式 不管对于STM32H7系列单片机,还是其他…

【Java】快速排序

文章目录 一、什么是快速排序二、基准元素的选择1、选择第一个元素2、随机选择 三、元素的交换1、双边循环法2、单边循环法 一、什么是快速排序 快速排序是由冒泡排序演变而来,比冒泡排序更快的排序算法。之所以快,是因为快速排序用了分治法。 相同的是…

探索手指套的多功能用途

什么是手指套? 手指套,戴在手指上的用品。作为一种小巧实用的用品,在我们的生活中扮演着多种角色。无论是在工业生产中的保护,医疗操作中的防护,还是日常生活中的装饰,甚至是性生活中的辅助,手…

数据结构从入门到精通——队列

队列 前言一、队列1.1队列的概念及结构1.2队列的实现1.3队列的实现1.4扩展 二、队列面试题三、队列的具体实现代码Queue.hQueue.ctest.c队列的初始化队列的销毁入队列出队列返回队头元素返回队尾元素检测队列是否为空检测元素个数 前言 队列是一种特殊的线性数据结构&#xff…

Rust教程:How to Rust-从开始之前到Hello World

本文为第0篇 专栏简介 本专栏是优质Rust技术专栏,推荐精通一门技术栈的蟹友,不建议基础的同学(无基础学Rust也是牛人[手动捂脸]) 感谢Rust圣经开源社区的同学,为后来者提供了非常优秀的Rust学习资源 本文使用&…

银河麒麟V10 安装部署大数据管理软件 DataSophon

一、概览 1、愿景 致力于快速实现部署、管理、监控以及自动化运维大数据云原生平台,帮助您快速构建起稳定、高效、可弹性伸缩的大数据云原生平台。 2、DataSophon是什么 《三体》,这部获世界科幻文学最高奖项雨果奖的作品以惊艳的"硬科幻"…

ARM/Linux嵌入式面经(二):芯片原厂

uart如何进行通信,模块发给uart数据信息后经历了什么 UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)是一种用于串行通信的协议,它使用一对传输线(TX和RX)进行双向通信…

结构体内存对齐详解

目录 结构体对齐: 为什么要进行内存对齐? 关于结构体的详解文章:C语言结构体详解_结构体变量和结构体类型举例-CSDN博客 结构体对齐: 存储的时候和当前存储的成员类型字节大小和默认对齐数比较,取小值 存在该对齐数的…

大语言模型的“大”体现在哪里

大语言模型中的"大"通常体现在以下几个方面,参数数量,训练数据和计算资源: 参数数量: 大语言模型的一个显著特征是其庞大的参数数量。参数的数量决定了模型的复杂度和表示能力。更多的参数通常意味着模型可以捕捉更复…

【❤️算法笔记❤️】-每日一刷-19、删除链表的倒数第 N个结点

文章目录 题目思路解答 题目 给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 输入:head [1,2,3,4,5], n 2 输出:[1,2,3,5]示例 2: 输入:head [1], n 1 输出:[]示例 3&…

linux系统---selinux

目录 前言 一、SELinux 的作用及权限管理机制 1.SELinux 的作用 1.1DAC 1.2MAC 1.3DAC 和 MAC 的对比 2.SELinux 基本概念 2.1主体(Subject) 2.2对象(Object) 2.3政策和规则(Policy & Rule) …