二叉树知识点

中序 + 后序构造二叉树

后序最后一个元素先确定根节点。

再去中序里找到这个根的位置。

根左边是左子树,根右边是右子树。

然后继续递归。

记一句:后序定根,中序切树。

最大二叉树

每次先找当前数组里的最大值作为根。

最大值左边部分建左子树。

最大值右边部分建右子树。

数组为空就返回 None。

今天这个题最容易错的是切片,右边一定是 numsindex+1:。

合并二叉树

两个节点都存在,就把值加起来。

一个为空,就直接返回另一个。

然后继续合并左子树和右子树。

这题本质就是两棵树对应位置一起处理。

二叉搜索树中的搜索

目标值等于当前节点,直接返回。

目标值小于当前节点,去左边找。

目标值大于当前节点,去右边找。

二叉搜索树可以只走一条路,不用左右都搜。

验证二叉搜索树

不能只看左孩子小、右孩子大。

真正要满足的是左子树所有节点都小于根,右子树所有节点都大于根。

也就是说要看整棵子树,不是只看父子。

常用方法是中序遍历看是否严格递增,或者递归加上下界范围。

相关推荐
aqiu1111111 小时前
【C++算法打怪专栏】8. 字符串转换整数 (atoi)
开发语言·c++·算法
迅猛龙办公室1 小时前
python实现倒序输出数字
开发语言·python
信奥卷王9 小时前
[GESP202609 六级] 分树规划
算法
夏幻灵10 小时前
LeetCode 21:合并两个有序链表——双指针与哑节点详解
算法·leetcode·链表
全栈练习生11 小时前
AI Agent 沙箱
python·ai
徐小黑ACG11 小时前
Golang 基础05 结构体struct
开发语言·算法·golang
Navigator_Z11 小时前
LeetCode //C - 1286. Iterator for Combination
c语言·算法·leetcode
SEO_juper12 小时前
用 Python 写一个 GEO 可见性检查脚本:你的网站现在能被 AI 引用吗
开发语言·人工智能·爬虫·python·seo·外贸独立站
北极有牛12 小时前
cpp学习笔记--常量指针
java·开发语言·算法