【算法第十四天7.28】二叉树的最大深度,二叉树的最小深度 ,完全二叉树的节点个数
链接力扣104-二叉树的最大深度
思路
class Solution {public int maxDepth(TreeNode root) {if(root == null) return 0;if(root.left == null) return maxDepth(root.right) + 1;if(root.right == null) return maxDepth(root.left) + 1;int max = Math.max(maxDepth(root.left),maxDepth(root.right));return max + 1;}
}
链接力扣111-二叉树的最小深度
思路
class Solution {public int minDepth(TreeNode root) {if(root == null) return 0;if(root.left == null) return minDepth(root.right) + 1;if(root.right == null) return minDepth(root.left) +1;int min = Math.min(minDepth(root.left),minDepth(root.right));return min + 1;}
}
链接力扣222-完全二叉树的节点个数
思路
class Solution {public int countNodes(TreeNode root) {if(root == null) return 0;return countNodes(root.left) + countNodes(root.right) + 1;// if(root == null) return 0;// // 层序用队列!!!!!// Queue<TreeNode> queue = new LinkedList<>();// queue.offer(root);// // 总结点个数// int res = 0;// while(!queue.isEmpty()){// int size = queue.size();// while(size-- > 0){// TreeNode node = queue.poll();// // 每一层的循环都用res++上// res++;// if(node.left != null) queue.offer(node.left);// if(node.right != null) queue.offer(node.right);// }// }// return res;}
}
相关文章:
【算法第十四天7.28】二叉树的最大深度,二叉树的最小深度 ,完全二叉树的节点个数
链接力扣104-二叉树的最大深度 思路 class Solution {public int maxDepth(TreeNode root) {if(root null) return 0;if(root.left null) return maxDepth(root.right) 1;if(root.right null) return maxDepth(root.left) 1;int max Math.max(maxDepth(root.left),maxD…...
网络安全设备-等保一体机
本文为作者学习文章,按作者习惯写成,如有错误或需要追加内容请留言(不喜勿喷) 本文为追加文章,后期慢慢追加 等保一体机的功能 等保一体机产品主要依赖于其丰富的安全网元(安全网元包括:防火…...
Kafka的配置和使用
目录 1.服务器用docker安装kafka 2.springboot集成kafka实现生产者和消费者 1.服务器用docker安装kafka ①、安装docker(docker类似于linux的软件商店,下载所有应用都能从docker去下载) a、自动安装 curl -fsSL https://get.docker.com | b…...
【C++】unordered_map在Windows和Linux上的不同行为
我目前手头上的项目,需要编译在板端Linux上运行,但是日常daily调试多在Windows上开发。这就涉及到同一份代码在多平台上的编译个运行。有一次遇到了一个奇怪的现象:跑同样的一份代码,Windows和Linux出来的结果是不一致的。最终确定…...
Apipost三方消息通知,接口变更不用愁
Apipost致力于为开发者提供更全面的API管理功能。而最近,Apipost又新增了一个非常实用的功能:第三方消息推送。这个功能可以帮助开发人员及时了解API的变更情况,从而更好地管理和优化自己的API。 具体来说,Apipost的第三方消息推…...
C语言 用数组名作函数参数
当用数组名作函数参数时,如果形参数组中各元素的值发生变化,实参数组元素的值随之变化。 1.数组元素做实参的情况: 如果已经定义一个函数,其原型为 void swap(int x,int y);假设函数的作用是将两个形参(x,y…...
每日一题(980. 不同路径 III)-回溯
题目 980. 不同路径 III 题解思路 表格中值为1的为起始点值为0 的是可以经过的点,但是只能经过一次值为2 的是终点,计算从起点到终点一共有多少种路径 计算出值为0的方格个数,同时找到起点位置当位于终点时候且经过所有的方格为0的点 即为…...
【Python:json常用函数,用于加载和保存json文件】load(), loads(), dump(), dumps()
文章目录 1、load()2、loads()3、dump()4、dumps() json文件为javascript object Notation文件,属于轻量级的数据交换格式,可以用于存储和交换数据。json文件是由类似{ }的key-value映射组成。 1、load() 把json文件加载为Python的数据格式,…...
Flink State 和 Fault Tolerance详解
有状态操作或者操作算子在处理DataStream的元素或者事件的时候需要存储计算的中间状态,这就使得状态在整个Flink的精细化计算中有着非常重要的地位: 记录数据从某一个过去时间点到当前时间的状态信息。以每分钟/小时/天汇总事件时,状态将保留…...
小红书2023“家生活”趋势白皮书
关于报告的所有内容,公众【营销人星球】获取下载查看 核心观点 近年来,年轻人与家的关系愈发紧密。 在小红书上,我们观察到了家居家装内容的蓬勃生长,3 年来相关内容的笔记规模增长了6倍,相关品类的搜索量增加的 3.…...
使用 LangChain 搭建基于 Amazon DynamoDB 的大语言模型应用
LangChain 是一个旨在简化使用大型语言模型创建应用程序的框架。作为语言模型集成框架,在这个应用场景中,LangChain 将与 Amazon DynamoDB 紧密结合,构建一个完整的基于大语言模型的聊天应用。 本次活动,我们特意邀请了亚马逊云科…...
210. 课程表 II Python
文章目录 一、题目描述示例 1示例 2示例 3 二、代码三、解题思路 一、题目描述 现在你总共有 numCourses 门课需要选,记为 0 到 numCourses - 1。给你一个数组 prerequisites ,其中 prerequisites[i] [ai, bi] ,表示在选修课程 ai 前 必须 …...
【LeetCode 算法】Linked List Cycle II 环形链表 II
文章目录 Linked List Cycle II 环形链表 II问题描述:分析代码哈希快慢指针 Tag Linked List Cycle II 环形链表 II 问题描述: 给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 如果链…...
蒸散发与植被总初级生产力估算
目标 熟悉蒸散发ET及其组分(植被蒸腾Ec、土壤蒸发Es、冠层截留Ei)、植被总初级生产力GPP的概念和碳水耦合的基本原理;掌握利用Python与ArcGIS工具进行课程相关的操作;熟练掌握国际上流行的Penman-Monteith模型,并能够…...
uniapp微信小程序底部弹窗自定义组件
基础弹窗效果组件 <template><view><viewclass"tui-actionsheet-class tui-actionsheet":class"[show ? tui-actionsheet-show : ]"><view class"regional-selection">底部弹窗</view></view><!-- 遮罩…...
人工智能的最新进展:2024年将会发生什么?
文章目录 2024年AI最新发展2024年AI具体应用2024年AI的具体预测 ✍创作者:全栈弄潮儿 🏡 个人主页: 全栈弄潮儿的个人主页 🏙️ 个人社区,欢迎你的加入:全栈弄潮儿的个人社区 📙 专栏地址&#…...
使用Golang实现一套流程可配置,适用于广告、推荐系统的业务性框架——组合应用
在《使用Golang实现一套流程可配置,适用于广告、推荐系统的业务性框架——简单应用》中,我们看到了各种组合Handler的组件,如HandlerGroup和Layer。这些组件下面的子模块又是不同组件,比如LayerCenter的子组件是Layer。如果此时我…...
DNS入门学习:DNS缓存的原理和作用(中科三方)
在实际业务场景中,DNS解析过程并不总是严格遵循从根域名服务器、顶级域名服务器再到权威域名服务器的一级级查询过程,这只是一个标准状态。为了节省全球查询的时间,同时减轻各级服务器的解析压力,DNS系统中引入了缓存机制。本文中…...
Linux虚拟机安装tomcat(图文详解)
目录 第一章、xshell工具和xftp的使用1.1)xshell下载与安装1.2)xshell连接1.3)xftp下载安装和连接 第二章、安装tomcat1.1)关闭防火墙,传输tomcat压缩包到Linux虚拟机12)启动tomcat 第一章、xshell工具和xf…...
Matlab对TMS320F28335编程--SVPWM配置互补PWM输出
前言 F28335中断 目的:FOC的核心算法及SVPWM输出,SVPWM的载波频率10kHz,SVPWM的每个周期都会触发ADC中断采集相电流,SVPWM为芯片ePWM4、5、6通道,配置死区 1、配置中断SVPWM进ADC中断,查上表知CPU1,PIE1 …...
ES6从入门到精通:前言
ES6简介 ES6(ECMAScript 2015)是JavaScript语言的重大更新,引入了许多新特性,包括语法糖、新数据类型、模块化支持等,显著提升了开发效率和代码可维护性。 核心知识点概览 变量声明 let 和 const 取代 var…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
苍穹外卖--缓存菜品
1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
智能AI电话机器人系统的识别能力现状与发展水平
一、引言 随着人工智能技术的飞速发展,AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术,在客户服务、营销推广、信息查询等领域发挥着越来越重要…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
JavaScript 数据类型详解
JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型(Primitive) 和 对象类型(Object) 两大类,共 8 种(ES11): 一、原始类型(7种) 1. undefined 定…...
Unity中的transform.up
2025年6月8日,周日下午 在Unity中,transform.up是Transform组件的一个属性,表示游戏对象在世界空间中的“上”方向(Y轴正方向),且会随对象旋转动态变化。以下是关键点解析: 基本定义 transfor…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
