对称二叉树、二叉树的最大深度、将有序数组转换为二叉搜索树

跟着团子学SAP EPPM:项目管理常见的集成场景(PPM\PS\MS Project) 在SAP的EPPM解决方案中,针对企业战略级别的投资组合管理首先是定义合适的投资组合的层级结构,在投资组合下可以通过不同维度去定义投资篮(Portofolio Bucket)进行层层拆分,在最下层级的投资篮下可以分配明细的投资项(Portofolio Item),投资项可以是独立的一个一个具体执行的项目,也可以是单纯的一次服务等等。 今天主要聚焦在投资项的维度展开讲一下在SAP中投资项常见的几种集成模式: 集成场景1:使用PPM中的Project Management进行项目管理 第一个场景是在创建投资项 阅读详情

🍅 Java学习路线:搬砖工逆袭Java架构师

🍅 简介:Java领域优质创作者🏆、优快云哪吒公众号作者✌ 、Java架构师奋斗者💪

🍅 百日刷题计划:第 6 / 100 天。

🍅 扫描主页左侧二维码,加入群聊,一起学习、一起进步 

🍅 欢迎点赞 👍 收藏 ⭐留言 📝  

大连跨海大桥夜景图 


 算法是进阶架构师的基础,基础不牢,地动山摇,2021-8-14起开始刷题,目标100天,300道LeetCode算法题,分享是学习的最好方式,加油,嗨起来。

1、LeetCode 101.对称二叉树

题目

给定一个二叉树,检查它是否是镜像对称的。

小编菜解

class Solution {
    public boolean isSymmetric(TreeNode root) {
        return check(root,root);
    }

    private boolean check(TreeNode p, TreeNode q){
        if(p == null && q == null){
            return true;
        }
        if(p == null || q == null){
            return false;
        }
        return p.val == q.val && check(p.left,q.right) && check(p.right,q.left);
    }
}

2、LeetCode 104.二叉树的最大深度

题目

给定一个二叉树,找出其最大深度。

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

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

小编菜解

class Solution {
    public int maxDepth(TreeNode root) {
        if(root == null){
            return 0;
        }
        //要算二叉树的最大深度,可以递归算出左右子树的最大深度,然后+1就可以了
        int left = maxDepth(root.left);
        int right = maxDepth(root.right);
        return left > right ? left + 1 : right + 1;
    }
}

3、LeetCode 108.将有序数组转换为二叉搜索树

题目

给你一个整数数组 nums ,其中元素已经按 升序 排列,请你将其转换为一棵 高度平衡 二叉搜索树。

高度平衡 二叉树是一棵满足「每个节点的左右两个子树的高度差的绝对值不超过 1 」的二叉树。

小编解题思路

选择中间数字作为二叉搜索树的根节点,这样分给左右子树的数字个数相同或只相差 1,可以使得树保持平衡。

确定平衡二叉搜索树的根节点之后,其余的数字分别位于平衡二叉搜索树的左子树和右子树中,左子树和右子树分别也是平衡二叉搜索树,因此可以通过递归的方式创建平衡二叉搜索树。

小编菜解

class Solution {
    public TreeNode sortedArrayToBST(int[] nums) {
        return transfer(nums, 0, nums.length - 1);
    }

    private TreeNode transfer(int[] nums, int left, int right){
        if(left > right){
            return null;
        }
        int mid = left + (right - left)/2;
        TreeNode root  = new TreeNode(nums[mid]);
        root.left = transfer(nums, left, mid - 1);
        root.right = transfer(nums, mid + 1, right);
        return root;
    }
}

推荐阅读

【100天算法入门 - 每日三题 - Day1】二叉树的中序遍历、两数之和、整数反转

【100天算法入门 - 每日三题 - Day2】二分查找、第一个错误的版本、搜索插入位置

【100天算法入门 - 每日三题 - Day3】回文数、罗马数字转数字、最大公共前缀

【100天算法入门 - 每日三题 - Day4】有效的括号、删除有序数组中的重复项、实现strStr

【100天算法入门 - 每日三题 - Day5】最后一个单词的长度、相同的树、买卖股票的最佳时机

西门子G120变频器在立体仓库堆垛机应用参数设置 本文详细介绍了G120 CU240E及CU250S变频器的参数设置流程。主要内容包括:1)快速调试步骤,从新建项目、扫描节点到设置电机类型、负载类型等参数;2)抱闸参数设置方法;3)参数下载异常时的处理方案。重点说明了通过STARTER软件进行向导式调试的完整过程,包括电机铭牌参数输入、识别方式选择等关键环节,并提示了通讯连接注意事项。当下载失败时,提供了通过导入导出项目文件解决问题的具体方法。 阅读详情

相关推荐

vasp计算练习1-Si

si的vasp训练流程

qq_41074165的博客 3295

54.对称的二叉树

对称的二叉树 参与人数:1963时间限制:1秒空间限制:32768K 算法知识视频讲解 题目描述 请实现一个函数,用来判断一颗二叉树是不是对称的。注意,如果一个二叉树同此二叉树的镜像是同样的,定义其为对称的。 考虑测试用例: 上代码: // 53.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #

chengonghao的博客 516

Python爬虫实战:用Selenium+ChromeDriver批量抓取政府网站政策文件(附完整代码)

本文详细介绍了使用Python的Selenium和ChromeDriver进行政府网站政策文件批量抓取的实战技巧。从环境配置、动态页面元素定位到分页机制破解和反爬虫策略,提供了完整的解决方案和代码示例,帮助开发者高效获取结构化政策数据。

weixin_42531710的博客 265

二叉树--二叉搜索树

编号2的二叉树中,叶子节点全都在最底层,除了叶子节点之外,每个节点都有左右两个子节点,这种二叉树就叫做满二叉树。 叶子节点都在最底下两层,最后一层的叶子节点都靠左排列,并且除了最后一层,其他层的节点个数都要达到最大,这种二叉树叫做完全二叉树。 如何表示(或者存储)一棵二叉树? 链式存储法:一种是基于指针或者引用的二叉链式存储法 基于数组的顺序存储法:一种是基于数组的顺序存储法 把根节点存储在下标i = 1的位置,那左子节点存储在下标2 * i = 2的位置,右子节点存储在2 * i + 1..

Hy_2267的博客 866

ElasticSearch读写性能调优

深层次理解,虽然是每隔一秒就会将内存中的segment数据刷新到segment file中,但实际上这里并没有直接到磁盘文件,而是先写入到OS Cache中。以refresh_interval为间隔时间,将保存在ES 内存缓存区中的数据 刷新到 os的文件系统缓存中,定期清空es的buffer,生成segment。注意:ES 的默认设置,已经综合考虑了数据可靠性,搜索的实时性,写入速度,一般不要盲目修改。将segment刷新到os cache中,并开放了查询权限,以提升搜索的实时性。

qq_44027353的博客 1811

【simulink模型】独立悬架振动模型,七自由度整车simulink模型

车辆悬架系统的设计对提升车辆行驶平顺性和操纵稳定性具有重要意义。本文构建了独立悬架的振动仿真模型以及七自由度整车动力学模型,基于 Simulink 平台实现对模型的动态响应仿真。通过对比不同工况下的车辆振动响应,验证了模型的准确性与实用性。研究结果为车辆悬架系统的优化设计提供了有力支持。

2401_84610415的博客 1581

二叉树进阶--二叉搜索树

二叉搜索树的学习以及相关题目的解决

weixin_72068014的博客 976

Pytorch实用教程:super(MLP,self).__init__()和super().__init__()有什么区别?

在 Python 中,super()函数用于调用父类(超类)的方法。它的使用在继承关系中非常常见,特别是在初始化继承自父类的属性时。在 PyTorch 中,这通常见于初始化nn.Module类的子类。super()的两种调用方式有微妙的差别,但在 Python 3 中常常用来达到同样的目的。这种写法在 Python 2 中非常常见。这里,super()被调用时需要指定当前类名(MLP)和当前实例(self。

若北辰 1025

【二叉树专题】—— 相同的树、对称二叉树、二叉树的最大深度

内容与标题一致,关于树的简单算法题

欢迎来到我的世界 768

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

【YOLO11改进 - 注意力机制】SCSA通过结合空间注意力和通道注意力,提高各种下游视觉任务的性能。

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 473

「自然语言驱动生产力」23. 科研神器:DeepSeek+EndNote实现文献智能综述

摘要:传统文献综述面临周期长、漏检率高、数据整合繁琐等痛点,某985课题组数据显示,4人团队完成一篇综述平均需5个月,重要成果遗漏率达25%。本文提出基于DeepSeek+EndNote的智能综述方案,通过“自然语言解析→精准检索→智能筛选→自动生成”四步流程实现全自动化。核心技术包括检索式智能生成算法、文献优先级评分模型、可视化图表自动生成工具及结构化综述框架引擎。实际应用中,文献调研周期从3-6个月缩短至2周,重要成果遗漏率降至3%以下,图表制作时间完全解放。某课题组采用该方案后,1人3周完成的综述被A

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1662

判断是否为对称二叉树 + 最大对称子二叉树

判断是否为对称二叉树 + 最大对称子二叉树(内附极详细代码分析)

2301_81373791的博客 411

机器人中的数值优化(十五)——PHR增广拉格朗日乘子法

本系列文章主要是我在学习《数值优化》过程中的一些笔记和相关思考,主要的学习资料是深蓝学院的课程《机器人中的数值优化》和高立编著的《数值最优化方法》等,本系列文章篇数较多,不定期更新,上半部分介绍无约束优化,下半部分介绍带约束的优化,中间会穿插一些路径规划方面的应用实例

慕羽★的博客 2001

【Leetcode简单顺序day8】100 相同的树 101 对称二叉树 104 二叉树的最大深度 108 将有序数组转换为二叉搜索树

给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。先排除空指针情况,然后递归遍历即可。

qq_41592994的博客 231

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

leetcode hot100:九、解题思路大全:二叉树(二叉树的中序遍历、二叉树的最大深度、翻转二叉树、对称二叉树、二叉树的直径、二叉树的层序遍历、将有序数组转换为二叉搜索树、验证二叉搜索树)

呃呃呃终于到了,万众喜爱的二叉树环节。。。

shanshan的博客 360

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Leetcode刷题笔记10:【100】相同的树【101】对称二叉树【104】二叉树的最大深度【108】将有序数组转换为二叉搜索树(STL:queue STL:deque)

第六天 2021-3-10 每日刷四题 刷题模块:树 - 简单难度 一、【题】相同的树 直接递归地扫描整个树即可 class Solution { public: bool isSameTree(TreeNode* p, TreeNode* q) { if(p!=nullptr && q!=nullptr && p->val!=q->val) return false; else if((p==nullptr &&a

MC_XiaoFang的博客 235

【LeetCode Hot100 二叉树(上)】二叉树的中序遍历、二叉树的最大深度、翻转二叉树、对称二叉树、二叉树的直径、二叉树的层序遍历、将有序数组转换为二叉搜索树、验证二叉搜索树

直径是二叉树中任意两个节点之间的路径长度,路径长度是指路径上边的节点数。

Luo_LA的博客 1129

[LeetCode] 二叉树相关题目

94. 二叉树的中序遍历 class Solution { public: vector<int> inorderTraversal(TreeNode* root) { vector<int> nodes; inorder(root, nodes); return nodes; } private: // 递归的方法 void inorder(TreeNode* root, vector<int

WchStrife的博客 163

Leetcode——初级部分——树部分——Python实现

一.二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回它的最大深度 3 。我的解答:如果根节点为空,则深度为0,返回0,递归的出口如果根节点不为空,那么深度至少...

dta0502的博客 601

初级算法-树

一个二叉搜索树,要求有效条件:左子树严格小于父节点,右子树严格大于父节点且,且子节点的子树也要尊称这个条件。为了让高度平衡,左右两边子节点数量差要小于等于1,所以每次从有序数组中取中间,然后对左右区间再建树。中序遍历,二叉搜索树的中序遍历是递增的,,很有趣。简单的树搜索操作,DFS和BFS。dfs标记区间,蛮好写的。一个二叉树判断是否对称。

Fei_WuYan的博客 192

【LeetCode 热题 100】二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树

二叉树的最大深度 / 翻转二叉树 / 二叉树的直径 / 验证二叉搜索树

小羊的博客 1035

Leetcode 3.13

特别需要注意的点:这道题虽然是求路径,按题目中描述4->3->2->1的路径长度只有3,但是在递归时,我们不能直接return 3,因为你不知道当前递归到二叉树的哪一层,是否为root,每一次都必须返回该节点为根的子树的深度,在最终的返回结果中再减1。4.都不为空,那么仔细观察,左右子树是不相等的,左子树的右子树 等于 右子树的左子树:root->left->right == root->right->left;并且,当前层root->left->val == root->right->val;

一只精品西红柿的进化过程 940

LeetCode初级算法之树

LeetCode初级算法之树写在刚刚开始二叉树的最大深度验证二叉搜索树对称二叉树 写在刚刚开始 从今天开始记录一些leetcode上的刷题记录和心得,小菜鸡也有成为大牛的梦想!从初级算法的树开始,之前的就不记录了,准备一个月刷到中级算法结束,加油!! 二叉树的最大深度 Question: 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指...

Crayonshin的博客 313

LeetCode热题100——二叉树(一)

LeetCode热题100——二叉树(一)

qq_56086076的博客 693

LeetCode HOT100刷题笔记(六):二叉树

ps:笔记和代码按本人理解整理,重思路

学习记录 1111

leetcode 初级算法 树

树二叉树的最大深度验证二叉搜索树对称二叉树二叉树的层次遍历将有序数组转换为二叉搜索树 二叉树的最大深度 recursive method: AC代码: class Solution { public: int maxDepth(TreeNode* root) { if(root==NULL) return 0; int lDepth = maxDepth(r...

randomaccessRAM的博客 263

leetcode200题之二叉树专题(三)

1. 对称二叉树 由对称二叉树定义: 对于树中 任意两个对称节点 L和 R,一定有: L->val = R->val:即此两对称节点值相等。 L->left->val = R->right->val:即 L的 左子节点 和 R的 右子节点 对称; L->right->val = R->left->val:即 L的 右子节点 和 R的 左子节点 对称。 根据以上规律,考虑从顶至底递归,判...

ttdss12345678的博客 190
上一篇: hibernate还有人用吗
下一篇: 算法面试题汇总
哪 吒
哪 吒 2022年度博客之星TOP 1 2022年度博客之星TOP 1 领域专家: 后端开发技术领域 领域专家: 后端开发技术领域
博客等级 码龄9年 59万+粉丝 2933原创
评论 20
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哪 吒

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值