【数据结构与算法 | 二叉树篇】力扣101, 104

1. 力扣101 : 对称二叉树

(1). 题

给你一个二叉树的根节点 root , 检查它是否轴对称。

示例 1:

 

2dc5ea809ff0eb36fd156f37788fdcdb.png

输入:root = [1,2,2,3,4,4,3]
输出:true

示例 2:

 

d33f9d5852eb761351550728f8eb77e5.png

输入:root = [1,2,2,null,3,null,3]
输出:false

提示:

  • 树中节点数目在范围 [1, 1000] 内
  • -100 <= Node.val <= 100

(2). 思路

用队列将二叉树的根节点的左子树和右子树的值记录下来,然后while循环比较.

(3). 解

class Solution {
    Deque<Integer> deque1 = new LinkedList<>();
    Deque<Integer> deque2 = new LinkedList<>();
    public boolean isSymmetric(TreeNode root) {
        boolean flag = true;
        recursionLeft(root.left);
        recursionRight(root.right);
        while (!deque1.isEmpty() && !deque2.isEmpty()) {
            if (deque1.poll() != deque2.poll()) {
                flag = false;
            }
        }
        return flag;
    }
    public void recursionLeft(TreeNode root) {
        if (root == null) {
            deque1.offer(110);
            return;
        }
        deque1.offer(root.val);
        recursionLeft(root.left);
        recursionLeft(root.right);
    }

    public void recursionRight(TreeNode root) {
        if (root == null) {
            //这处代码是需要的, 不然光靠根左右是无法确定是否是对称的
            deque2.offer(110);
            return;
        }
        deque2.offer(root.val);
        recursionRight(root.right);
        recursionRight(root.left);
    }
}

2. 力扣104 : 二叉树的最大深度

(1). 题

给定一个二叉树 root ,返回其最大深度。

二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。

示例 1:

 

57d86be0ace5249a1ff523aed8394f0d.jpeg

 

输入:root = [3,9,20,null,null,15,7]
输出:3

示例 2:

输入:root = [1,null,2]
输出:2

提示:

  • 树中节点的数量在 [0, 104] 区间内。
  • -100 <= Node.val <= 100

(2). 思路

递归,从根节点开始,树的最大高度就是,根节点+左孩子的高度/右孩子的高度.而该左孩子的高度为左孩子+左孩子的左孩子的高度/左孩子的右孩子高度...

(3). 解

class Solution {
    public int maxDepth(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int a = maxDepth(root.left);
        int b = maxDepth(root.right);
        a = a > b ? a : b;
        return 1 + a;
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

知识图谱应用---智慧金融

文章目录 智慧金融典型应用 智慧金融 智慧金融作为一个有机整体&#xff0c;知识图谱提供了金融领域知识提取、融合、分析、推断、决策等功能&#xff0c;如下图所示。在场景方面&#xff0c;智慧金融涵盖智慧支付、智慧财富管理、智慧银行、智慧证券、智慧保险、智慧风控等诸多…

进程和任务管理器

一、查看和控制进程 1.1ps命令 &#xff08;1&#xff09;ps 命令——查看静态的进程统计信息&#xff08;Processes Statistic&#xff09; PID TTY TIME CMD 1579 pts/1 00:00:00 bash 1730 pts/1 00:00:00 ps PID&#xff1a;进程IDTTY &#xff08;进程id&#xff0…

蓝牙网关和蓝牙mesh网关的对比

蓝牙网关和蓝牙Mesh网关是物联网&#xff08;IoT&#xff09;领域中两种重要的设备&#xff0c;它们各自有不同的特点和应用场景。以下是它们的一些主要对比和区别 1. 网络结构&#xff1a; - 蓝牙网关&#xff1a;通常采用点对点或星型拓扑结构&#xff0c;一个网关连接多个…

【OpenHarmony】ArkTS 语法基础 ④ ( ArkTS UI 渲染控制 | if else 条件渲染 | ForEach 循环渲染 )

文章目录 一、ArkTS UI 渲染控制1、if else 条件渲染2、ForEach 循环渲染 二、完整代码示例1、自定义组件代码2、主界面代码3、执行结果 参考文档 : <HarmonyOS第一课>ArkTS开发语言介绍 一、ArkTS UI 渲染控制 1、if else 条件渲染 在 Component 自定义组件 中的 build …

HarmonyOS(29)onMeasureSize和PlaceChildren (View的测量和布局)

onMeasureSize和PlaceChildren onMeasureSize和PlaceChildren 说明官方使用示例参考资料 onMeasureSize和PlaceChildren 说明 在Android开发中View的测量onMeasure和布局onLayout是自定义组件必备的两个方法&#xff0c;HarmonyOS对自定义布局也提供了两个方法&#xff1a; on…

“江陵一日”远不如“夕发朝至”

李白诗曰&#xff1a;“ 朝辞白帝彩云间&#xff0c;千里江陵一日还。 ” 此诗句&#xff0c;是李白描述当年他从白帝城出发到江陵去&#xff0c;随后又赶回白帝城的情形 。说的是虽然水路长达逾千里&#xff0c;但是乘坐的轻快小船驶过了连绵不绝的万重山峦&#xff0c;往返仅…

WPF音乐播放器 零基础4个小时左右

前言&#xff1a;winfrom转wpf用久的熟手说得最多的是,转回去做winfrom难。。当时不明白。。做一个就知道了。 WPF音乐播放器 入口主程序 FontFamily"Microsoft YaHei" FontSize"12" FontWeight"ExtraLight" 居中显示WindowStartupLocation&quo…

VBA中类的解读及应用第十二讲:限制复选选择,类模块的代码讲解

《VBA中类的解读及应用》教程【10165646】是我推出的第五套教程&#xff0c;目前已经是第一版修订了。这套教程定位于最高级&#xff0c;是学完初级&#xff0c;中级后的教程。 类&#xff0c;是非常抽象的&#xff0c;更具研究的价值。随着我们学习、应用VBA的深入&#xff0…

C++:栈(stack)、队列(queue)、优先级队列(priority_queue)

hello&#xff0c;各位小伙伴&#xff0c;本篇文章跟大家一起学习《C&#xff1a;栈&#xff08;stack&#xff09;和队列&#xff08;queue&#xff09;》&#xff0c;感谢大家对我上一篇的支持&#xff0c;如有什么问题&#xff0c;还请多多指教 &#xff01; 文章目录 :map…

鸿蒙开发 之 ArkUI自定义组件

1.自定义组件 2.自定义构建函数 3.自定义公共样式函数 3.1Styles装饰器&#xff0c;仅可封装组件通用属性 3.2Extend装饰器&#xff0c;仅可定义在全局&#xff0c;可以设置组件特有属性 4.代码示例 头部组件封装 Component export struct Header{private title: ResourceStrb…

54.WEB渗透测试-信息收集- 端口、目录扫描、源码泄露(2)

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 内容参考于&#xff1a; 易锦网校会员专享课 上一个内容&#xff1a;53.WEB渗透测试-信息收集-端口、目录扫描、源码泄露&#xff08;1&#xff09; 关于源码…

crlfuzzcrlfsuite

都是用来检测crlf漏洞的&#xff0c;原理也很简单&#xff0c;都是提交带有回车和行换的payload去测试&#xff0c;总体感觉crlfuzz更好用一点&#xff0c;因为可以看到整个payload&#xff0c;crlfsuite我暂时没找到这个访问的网址在哪里 1.crlfuzz 需要配置go语言环境&…

使用tftpd更新开发板内核

我们升级内核可以通过原厂提供的升级软件来进行&#xff0c;比如瑞芯微的RKDevTool.exe&#xff0c;只不过这种方式必须通过指定的OTG升级口&#xff0c;还得借助按键进入loader模式后才可以。 其实还可以利用一些通用的工具来进行升级&#xff0c;比如tftpd工具。 下载地址p…

PSTI法案和 ETSI EN 303 645测试流程

PSTI法案和 ETSI EN 303 645测试流程: 如何证明符合英国PSTI法案要求? 最低要求是满足PSTI法案关于密码、软件维护周期和漏洞报告的三个要求&#xff0c;并对这些要求提供评估报告等技术文件&#xff0c;同时进行符合性自我声明。我们建议采用ETSI EN 303 645进行英国PSTI法…

古字画3d立体在线数字展览馆更高效便捷

在数字时代的浪潮中&#xff0c;大连图书馆以崭新的面貌跃然屏幕之上——3D全景图书馆。这座承载着城市文化精髓与丰富知识资源的数字图书馆&#xff0c;利用前沿的三维建模技术&#xff0c;为我们呈现了一个全新的知识世界。 随时随地&#xff0c;无论您身处何地&#xff0c;只…

南师大GIS、测绘考研,选哪个导师比较好?

GIS是南师大地科院的王牌专业&#xff0c;而地科院的地理学又是南京师大唯一的双一流学科&#xff0c;所以地科院是南京师大科研经费投入最多&#xff0c;基金项目申请最多的学院。 选择研究生导师要从研究方向、学术能力、个人品行、师资诸多方面综合考虑。今天我为大家整理了…

AR和AP重分类(Regroup)[FAGLF101/OBBU/OBBV]

一、为什么AR和AP科目需要重分类 1.1 执行操作的前提(重要) 存在AR的当月总余额在贷方&#xff08;客户贷项凭证、预收账款等&#xff09;或AP的当月总余额在借方&#xff08;供应商贷项凭证、预收账款等&#xff09;&#xff0c;这种情况下无法真实的反映出资产和负债情况&…

【运维项目经历|028】Cobbler自动化部署平台构建项目

&#x1f341;博主简介&#xff1a; &#x1f3c5;云计算领域优质创作者 &#x1f3c5;2022年CSDN新星计划python赛道第一名 &#x1f3c5;2022年CSDN原力计划优质作者 &#x1f3c5;阿里云ACE认证高级工程师 &#x1f3c5;阿里云开发者社区专…

捋一捋C++中的逻辑运算(一)——表达式逻辑运算

注意&#xff0c;今天要谈的逻辑运算是C语言编程中的“与或非”逻辑运算&#xff0c;不是数学集合中的“交并补”逻辑运算。而编程中的逻辑运算又包括表达式逻辑运算和位逻辑运算&#xff0c;本章介绍表达式逻辑运算&#xff0c;下一章介绍位逻辑运算。 目录 一、几个基本的概…