leetcode-12-[226]翻转二叉树[101]对称二叉树[104]二叉树的最大深度[111]二叉树的最小深度

前置知识:

深度:任意节点到根节点的节点数

高度:任意节点到叶子节点(左右孩子都为空)的节点数

一、[226]翻转二叉树

重点:交换节点应该传入根节点

class Solution {public TreeNode invertTree(TreeNode root) {if(root==null)return root;//前序遍历swap(root);invertTree(root.left);invertTree(root.right);return root;}//交换注意一下void swap(TreeNode root){TreeNode tmp=root.left;root.left=root.right;root.right=tmp;}
}

二、[101]对称二叉树

class Solution {public boolean isSymmetric(TreeNode root) {//后序遍历//左右节点的信息返回给根节点return compare(root.left,root.right);}boolean compare(TreeNode left,TreeNode right){if(left==null&&right==null){return true;}if(left==null&&right!=null){return false;}if(left!=null&&right==null){return false;}//注意一下if(left.val!=right.val){return false;}boolean r1 = compare(left.left, right.right);boolean r2 = compare(left.right, right.left);if(r1&&r2){return true;}else{return false;}}
}

三、[104]二叉树的最大深度

class Solution {int max=0;public int maxDepth(TreeNode root) {depth(root,0);return max;}void depth(TreeNode node,int tmp){if(node==null)return;tmp++;max= Math.max(tmp, max);depth(node.left,tmp);depth(node.right,tmp);}
}

四、[111]二叉树的最小深度

后序遍历

注意:

1、题目中:最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明: 叶子节点是指没有子节点的节点。

2、tmp为局部变量,不存值,直观来说,即层层递归之后的返回tmp,仍为一开始传入的tmp,中间过程忽略不计。

class Solution {int min=Integer.MAX_VALUE;public int minDepth(TreeNode root) {depth(root,0);return min==Integer.MAX_VALUE?0:min;}void depth(TreeNode node,int tmp){if(node==null){return;}tmp++;depth(node.left,tmp);depth(node.right,tmp);if(node.left==null&&node.right==null){min=Math.min(min,tmp);}}
}

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

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

相关文章

JSON学习

一、JSON 1.1 简介 JSON:JavaScript Object Notation是一种表示对象的方式 基于JavaScript语言的轻量级的数据交换格式;(即:用来传输数据的一种格式) 现在传输数据的方式更多是采用json的格式,渐渐代替了XML 1.2 JSON的数据表示 …

人生的乐趣,在于对真知的追求

子曰:朝闻道,夕死可矣! 孔子说:早上听到关于世界的真理,哪怕晚上就die了都可以。 这句话很有力量而经常被人引用,表达出我们如何看待沉重的肉身和精神世界。 我们的生活目的:道。 —— 要了解…

MongoDB查询

一、find 1、简单查询 #查寻所有文档 >db.foo.find()#查询包含namehgq的文档 >db.foo.find({"name":"hgq"}) #查询包含namehgq,age12的文档,默认为全部条件都匹配 >db.foo.find({"name":"hgq","…

探究 IP 地址被网站封禁的原因

在我们登录各种网站、APP浏览时,可能会遇到 IP 地址被某些网站封禁的情况。很多人奇怪这是为什么呢? 首先,违反网站的使用规则是比较常见的原因之一。比如,频繁发送垃圾邮件、恶意评论、进行网络攻击或试图破解网站的安全机制等不…

数据链路层知识分享【计算机网络】【以太网帧 | MTU的影响 | ARP技术】

博客主页:花果山~程序猿-CSDN博客 文章分栏:Linux_花果山~程序猿的博客-CSDN博客 关注我一起学习,一起进步,一起探索编程的无限可能吧!让我们一起努力,一起成长! 目录 前文 一, 以…

【操作系统】操作系统课后作业-聊天程序

无名管道与有名管道的区别 无名管道: 它是半双工的,具有固定的读端和写端。 只能用于具有亲缘关系的进程之间的通信(也是父子进程或者兄弟进程之间)。 不是普通的文件,不属于其他任何文件系统,并且只存…

Electron+Vue开源软件:洛雪音乐助手V2.8畅享海量免费歌曲

洛雪音乐助手是一款功能全面且完全免费的开源音乐软件,支持在Windows、Android和iOS平台上使用。 平台支持: 桌面版:采用Electron Vue技术栈开发,支持Windows 7及以上版本、Mac OS和Linux,具有广泛的用户群体覆盖。 …

深信服终端安全管理系统EDR版本升级过程

EDR当前版本为3.7.12,具体参考版本详情参数。需要升级到6.0.2R1版本,该版本更改了产品名称,叫做“统一端点安全管理系统aES” 当前版本详情 版本基础信息 软件版本:3.7.12.3829 病毒库版本:20240618174426 漏洞规则库&…

【安全边界】

1.安全边界是什么 安全边界是具有不同安全要求或需求的任意两个区域、子网或环境之间的交叉线。它存在于高安全性区域和低安全性区域之间,例如局域网(LAN)和互联网(Internet)之间。 2.为什么要建设安全边界 安全边界…

PHP入门教程5:会话管理和数据库操作

PHP入门教程5:会话管理和数据库操作 在前几篇文章中,我们学习了PHP的基础语法、控制结构、函数的使用、数组和字符串的操作,以及文件处理和表单处理。本文将重点介绍PHP中的会话管理和数据库操作,这是构建动态网站和Web应用程序的…

java.sql.Timestamp用法总结

java.sql.Timestamp用法总结 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 1. 概述 java.sql.Timestamp是Java中表示日期和时间的类,它继承自jav…

定制化物联网设备:开启智能生活新篇章

随着科技的进步,物联网(IoT)已成为我们日常生活和工作中不可或缺的一部分。从智能家居到工业自动化,物联网设备以其独特的功能和特性,极大地提高了我们的生活质量和工作效率。然而,在众多的物联网设备中&am…

Window常用的脚本有哪些?快来看看有哪些是你正在用的!(欢迎评论补充~)

前言 在日常开发中,如果能熟练掌握以下这些使用频率很高的脚本,那工作起来真的是手拿把攥,事半功倍,接下来给大家介绍一些我们日常使用率很高的一些脚本! 常用脚本(Batchfile & VBScript) 1.一键启动.bat 一次…

负利率(Negative Interest Rates)是什么?商业银行会对普通储户实施负利率吗?

负利率是什么? 中文版 负利率是指中央银行或金融机构对存款人收取存款费用,而不是支付利息。这意味着存款人在银行存钱不仅不能赚取利息,反而要支付费用。以下是对负利率的详细解释: 负利率的理解 定义: 负利率意味…

ServletResponse类及其使用方法介绍

在Java Servlet技术中,ServletResponse是一个接口,它定义了服务器响应客户端请求的API。这个接口提供了设置响应头、发送错误、以及管理响应内容的方法。以下是对ServletResponse接口中一些重要方法的介绍以及它们的使用示例。 ServletResponse接口概述…

每年1-1.2万人毕业,男女比例约3:1,测绘工程的就业率如何

测绘工程,一个让人闻风丧胆的理科专业,虎扑评分4.2: 干过测绘的,苦不苦只有大家心里知道,带大家来感受一下,兄弟们的精神状态都十分美妙: 测绘专业到底是什么情况? PS.测绘分为本科…

mongodb-java apispringboot整合mongodb

mongodb入门mongodb-java api的使用springboot整合mongodb评论 一 MongoDB 1.1 MongoDB简介 ​ MongoDB是一个基于分布式文件存储的数据库。由C语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 ​ MongoDB是一个介于关系数据库和非关系数据库之间的产品&…

等保2.0对于物联网设备的漏洞管理还有哪些规定?

等保2.0针对物联网设备的漏洞管理,主要规定了以下几个方面: 1. 漏洞发现与识别:要求定期进行漏洞扫描和评估,利用专业的漏洞扫描工具和安全服务,及时发现物联网设备及其软件中的安全漏洞。这包括但不限于操作系统、应…

文献解读-流行病学-第十期|《SARS-CoV-2 德尔塔和奥密克戎合并感染和重组的证据》

关键词:基因组变异检测;全基因组测序;流行病学; 文献简介 标题(英文):Evidence for SARS-CoV-2 Delta and Omicron co-infections and recombination标题(中文)&#xf…

leetcode402场周赛——构成整天的下标对数目(javascript)

leetcode402场周赛——构成整天的下标对数目 原始题目链接&#xff1a; 402场周赛 题目描述 给你一个整数数组 hours&#xff0c;表示以 小时 为单位的时间&#xff0c;返回一个整数&#xff0c;表示满足 i < j 且 hours[i] hours[j] 构成 整天 的下标对 i, j 的数目。 …