Leetcode 刷题笔记1 二叉树part07

深入解析Buck开关电源中的死区时间设计及其对系统性能的影响 本文深入解析了Buck开关电源中死区时间的设计原理及其对系统性能的关键影响。死区时间通过防止上下管同时导通来避免穿通电流,确保系统安全。文章详细探讨了其工作机制、设置时的效率与安全权衡,以及不当设置对效率、稳定性和EMI的连锁反应,并提供了基于实测的调试方法与实战案例。 阅读详情

leetcode 235 二叉搜索树的最近公共祖先

本题的关键在于如何利用二叉搜索树的性质简化普通二叉树搜索最近公共祖先的过程,如果

cur.val > p.val && cur.val < q.val 或者 cur.val < p.val && cur.val > q.val,即cur.val在区间[p, q]中。

递归法:
 

class Solution:
    def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
        if not root:
            return None
        if root.val > p.val and root.val > q.val:
            left = self.lowestCommonAncestor(root.left, p, q)
            if left:
                return left
        if root.val < p.val and root.val < q.val:
            right = self.lowestCommonAncestor(root.right, p, q)
            if right:
                return right
        return root

迭代法:
 

class Solution:
    def lowestCommonAncestor(self, root: 'TreeNode', p: 'TreeNode', q: 'TreeNode') -> 'TreeNode':
        while root:
            if root.val > p.val and root.val > q.val:
                root = root.left
            elif root.val < p.val and root.val < q.val:
                root = root.right
            else:
                return root
        return None

迭代法在这题显得格外通俗易懂

leetcode701 二叉搜索树中的插入操作

本题的重点在于理解二叉搜索树的插入操作,并不需要改变树的结构,在插入操作时,只需要在合适的空节点插入即可

递归法:

class Solution:
    def insertIntoBST(self, root: Optional[TreeNode], val: int) -> Optional[TreeNode]:
        parent = TreeNode(0)
        if not root:
            return TreeNode(val)
        self.traversal(root, val)
        return root
    def traversal(self, cur, val):
        if not cur:
            cur = TreeNode(val)
            if val > self.parent.val:
                self.parent.right = cur
            else:
                self.parent.left = cur
            return 
        self.parent = cur 
        if cur.val > val:
            self.traversal(cur.left, val)
        if cur.val < val:
            self.traversal(cur.right, val)

 leetcode450 删除二叉树中的节点

相比于增加节点,删除二叉树的节点更为复杂,需要考虑的情况比较多,左右为空、左空右不空、左不空右空、左右都不空还有没找到删除的节点。其中需要注意的是左右都不用的情况比较复杂。

递归法:

class Solution:
    def deleteNode(self, root: Optional[TreeNode], key: int) -> Optional[TreeNode]:
        if not root:
            return root
        if root.val == key:
            if root.left is None and root.right is None:
                return None
            if root.left and root.right is None:
                return root.left
            if root.right and root.left is None:
                return root.right
            # 最难理解的部分
            if root.right and root.left:
                cur = root.right
                while cur.left:
                    cur = cur.left
                cur.left = root.left
                return root.right
        if root.val > key:
            root.left = self.deleteNode(root.left, key)
        if root.val < key:
            root.right = self.deleteNode(root.right, key)
        return root

SD卡烧写Linux kernel——SD卡分区,并烧写uboot,kernel,DTB及filesystem Linux Ubuntu环境下对SD卡分区(烧写uboot,kernel,及filesystem) 介绍dd命令的使用,SD卡分区、格式化、复制文件等 fdisk命令 阅读详情

相关推荐

EEGLAB+ERPLAB实战:从.cnt文件到情绪ERP差异波,一份避坑指南

本文详细介绍了使用EEGLAB和ERPLAB处理Neuroscan的.cnt格式脑电数据的全流程,从数据导入、预处理到情绪ERP差异波生成。重点解决了采样率验证、事件标记检查、重参考选择、滤波策略与ICA组合等实操难题,并提供了情绪图片ERP研究中P1、EPN和LPP成分的分析技巧,帮助研究者避免常见错误,提升数据处理效率。

weixin_26795617的博客 266

《LeetCode热题100》笔记&题解&思路&技巧&优化_Part_4

二叉树 🟢1. 二叉树的中序遍历 🟢2. 二叉树的最大深度 🟢3. 翻转二叉树 🟢4. 对称二叉树 🟢5. 二叉树的直径 🟡6. 二叉树的层序遍历 🟢7. 将有序数组转换为二叉搜索树 🟡8. 验证二叉 搜索树 🟡9. 二叉搜索树中第K小的元素 🟡10. 二叉树的右视图 🟡11. 二叉树展开为链表 🟡12. 从前序与中序遍历序列构造二叉树 🟡13. 路径总和II 🟡14. 二叉树的最近公共祖先 🔴15. 二叉树中的最大路径和

这里有一只小马吖 1188

普通人如何上岸华为OD-面试总结

总共有3道算法题,100分值的两道,200分值的一道,不同的毕业院校和专业,通过机试的分值不一样,最少需要150分通过,提前和hr联系,了解自己需要多少分通过。重中之重:哪怕你是背的题库,也请你一定不要直接抄原来的,最好是变更下方法名,否则会判定你重复率过高,从而失去后面的面试机会(实在是不会做再用此方法,凑分数所用,面试官能看到你的代码,会影响你的面试评价)本人女,所以还问道了婚育计划,有对象这点可以说,没有问题,但是如果可以的话,生孩子的时间,可以给hr说这几年不考虑。如果说没有难题,直接就挂了。

weixin_47767264的博客 5456

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 1)

二叉树的递归遍历、迭代遍历、统一迭代遍历、层序遍历

OuO-1 的博客 1301

英伟达Orin芯片:自动驾驶的标杆产品

英伟达Orin芯片是面向自动驾驶和边缘AI的高性能SoC,采用7nm工艺,单芯片算力达254TOPS(INT8),功耗45-55W。其硬件架构包含12核ARM CPU、Ampere GPU、专用DLA和PVA加速器,支持64GB LPDDR5内存,符合车规级ASIL-D安全标准。软件生态涵盖DRIVE OS、CUDA、TensorRT等工具链,提供全栈解决方案。Orin已被理想、蔚来等车企采用,主要竞争对手包括高通Snapdragon Ride和地平线征程系列。面试需重点掌握算力指标、异构计算架构、Tens

学习代码 1827

P4VASP的安装 & 使用P4VASP画DOS(态密度)图

P4vasp 下载: 链接:https://pan.baidu.com/s/1JIptQVSFSopQls9CiSIoVA 提取码:sbhi 由于是免安装版本,直接右击解压即可,将出现以下文件: 双击既可运行P4vasp: 关于P4vasp的基本使用(使用P4vasp画DOS) 这里以vasp计算为例 首先导出DOS计算的文件夹中的vasprun.xml文件 从p4vasp导入该文件进行作图(直接将vasprun.xml拖入p4vasp一般不会有反应) 具体步骤: 点击open: 在弹出的弹窗

qq_42168543的博客 5万+

Leetcode刷题笔记1 二叉树part05

在此题中,由于深度遍历方法的遗忘废了些功夫,需要常复习三种迭代遍历方式。觉得二叉树的学习过程中递归很好使,随着题目的增加,对递归理解更加深刻。先通过中序遍历将二叉树转为有序数组,判断数组是否有序就行。

pinglejun的博客 252

DeepSeek-R1模型+Dify实战:5步打造能读PDF的智能客服(附BGE-M3嵌入模型配置)

本文详细介绍了如何利用DeepSeek-R1大模型与Dify平台,结合BGE-M3嵌入模型,构建企业级智能文档问答系统。通过5个步骤,从环境准备到知识库构建,再到智能问答应用开发,帮助企业快速从PDF等文档中提取关键信息,提升工作效率。特别适合处理产品手册、内部规程等专业内容。

convnet3designer的博客 720

leetcode刷题-part1

title: leetcode刷题-part1 date: 2018-09-21 17:32:47 updated: 2020-03-11 21:33:18 categories: 算法刷题 tags: - 算法刷题 - leetcode 此leetcode刷题系列记录单独做的leetcode题目与答案,并非每道题都做,只记录做过的。每篇文档25道题,以官网题目序号为顺序。 一、题目总览 ...

Pop_Rain的博客 343

【STM32系统及仿真】基于STM32+蓝牙设计的智能窗帘系统__资料编号8

本项目设计并实现了一种基于STM32单片机的智能窗帘系统,集成了光敏传感器、温湿度传感器、蓝牙模块和OLED显示屏,实现了窗帘的自动调节、环境监测和远程控制功能。系统采用STM32F103C8T6作为主控制器,通过光敏传感器检测环境光强,温湿度传感器监测室内环境,蓝牙模块实现与手机APP的通信,用户可以通过APP远程控制窗帘的开合状态。系统在检测到环境光照强度或温度超出设定范围时,可自动调节窗帘的开合,以达到节能和提高舒适度的目的。

嵌入式阿齐Archie 2万+

c语言实现求一个矩阵特征值和特征向量

前言 求矩阵的特征值,主要是用的QR分解,在我的有一次博客里,我已经详细地给出了计算的过程,大家有兴趣可以去看下,经过几天的钻研,终于完成了整个的eig算法。下面我将把我的整个代码附上,有不懂的可以问我,欢迎一起讨论学习! 这是对上一次的修改版,上一次写的程序是在C++编译环境下编译的,所以放在c里面编译有些会出错。 最后,如果有不对的地方希望大...

qq_36417014的博客 2万+

Leetcode 刷题笔记1 二叉树part08

关于递归中的返回值掌握还不到位。

pinglejun的博客 256

Python爬取上市公司年报并进行财务比率分析:基于异步爬虫与数据挖掘的实战

在当今数据驱动的投资时代,获取并分析上市公司财务数据对于投资者、分析师和研究人员至关重要。中国证监会指定的上市公司信息披露网站——巨潮资讯网,包含了所有A股上市公司的年报、季报及其他公告信息。本项目将展示如何使用Python最新技术栈爬取巨潮网的年报数据,提取关键财务指标,并进行深入的财务比率分析。本文将采用异步爬虫技术提高数据采集效率,使用现代解析库处理PDF和HTML文档,并结合pandas进行数据分析和可视化。整个过程将遵循合规合法的爬虫伦理,尊重网站robots.txt协议,设置合理的请求间隔。

2201_76125261的博客 666

力扣初级算法的学习笔记Part1

力扣初级算法的学习笔记 通过写博客,解释技术来提高自己的算法能力. 让自己成为高手. 扎实的训练和有效的刻意练习才能够有所收获. 最终的目的: 大幅度提高自己的核心竞争能力和提高自己的思维能力。 思维方式决定境界与能力. 在之后的时间,我也会有针对性的总结不断类型的优秀的开发软件的思想,从而不断的提高自己的能力。 同时,我也将不断的分析优秀博客来帮助自己不断的提高自己的写作能力. 总而言之, 要...

zoudino的博客 689

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 5)

最大二叉树、合并二叉树、二叉搜索树中的搜索、验证二叉搜索树

OuO-1 的博客 1274

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

leetcode刷题笔记1 二叉树part04

从本题和下面的这两道题学习如何根据中序和前序、中序和后序遍历序列构造二叉树。同时,没有中序的情况是不能构造二叉树的。

pinglejun的博客 176

Leetcode刷题笔记1 二叉树part06

目前对于代码掌握程度还太低,所以对于一个题目的思路先从会用的方法想思路,比如暴力解法对于二叉树的最小绝对差,因为是二叉搜索树,所以用中序遍历转为有序数组,然后求取差值。

pinglejun的博客 268

Python | Leetcode刷题日寄Part05

Python|Leetcode刷题日寄Part05: 💦:二叉树的中序遍历;🔥:对称二叉树;🍞:翻转二叉树;💡:验证二叉搜索树;🚀:岛屿数量;🌲:二叉树的最小深度;🎁:二叉树展开为链表;🌞:二叉树的前序遍历;🌠:相同的树;💎:路径总和

四口鲸鱼爱吃盐的博客 803

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 3)

平衡二叉树、二叉树的所有路径、左叶子之和、完全二叉树的节点个数

OuO-1 的博客 834

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 2)

翻转二叉树、对称二叉树、二叉树的最大深度、二叉树的最小深度

OuO-1 的博客 963

《LeetCode热题100》笔记&题解&思路&技巧&优化_Part_6

🟡1. 全排列 🟡2. 子集 🟡3. 电话号码的字母组合 🟡4. 组合总和 🟡5. 括号生成. 🟡6. 单词搜索 🟡7. 分割回文串 🔴8. N皇后

这里有一只小马吖 1356

求职力扣刷题DAY21--二叉树 part07

中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。中序遍历,使用全局变量prev记录上一个遍历的元素,给你一个含重复值的二叉搜索树(BST)的根节点。差值是一个正数,其数值等于两值之差的绝对值。,找出并返回 BST 中的所有。如果树中有不止一个众数,可以按。给你一个二叉搜索树的根节点。(即,出现频率最高的元素)。

qq_44486787的博客 416

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 6)

二叉搜索树的最小绝对差、二叉搜索树中的众数、二叉树的最近公共祖先

OuO-1 的博客 781

【算法笔记】有人看海,有人被爱,有人做不出 leetcode 第一题(二叉树专题 Part 4)

找树左下角的值、路径总和、路径总和Ⅱ、从中序与后序遍历序列构造二叉树、从前序与中序遍历序列构造二叉树、思考题:前序和后序是否可以唯一确定一棵二叉树?

OuO-1 的博客 1220

Leetcode刷题笔记1 二叉树part01

【代码】Leetcode刷题笔记1 二叉树part01。

pinglejun的博客 223

leetcode刷题笔记1 二叉树part02

终止条件是左孩子和右孩子同时不存在。

pinglejun的博客 174

Leetcode Hot 100 —— 二叉树 part01

Leetcode Hot 100 —— 二叉树 part01

qq_52421969的博客 822
上一篇: Leetcode刷题笔记1 二叉树part06
下一篇: Leetcode 刷题笔记1 二叉树part08
平乐君
博客等级 码龄5年 65粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值