二叉树知识点

中序 + 后序构造二叉树

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

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

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

然后继续递归。

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

最大二叉树

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

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

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

数组为空就返回 None。

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

合并二叉树

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

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

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

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

二叉搜索树中的搜索

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

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

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

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

验证二叉搜索树

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

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

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

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

相关推荐
空白7 分钟前
Power BI +VBA 【数据分析】
python
不会就选b6 小时前
算法日常・每日刷题--<贪心>14
算法
科技苑6 小时前
Python简单网络爬虫教程
爬虫·python
mmmmath_39 小时前
LeetCode.541.反转字符串II
数据结构·算法·leetcode
Navigator_Z9 小时前
LeetCode //MySQL - 1251. Average Selling Price
c语言·算法·leetcode
Patrick在香港9 小时前
Claude Prompt 香港场景:公文里「今日」落在 6 个日历日上,「翌日」锚错了 5 天
python·自然语言处理·正则表达式·claude·数据清洗
YsyaaabB9 小时前
Python 数值分析
python
阿洛学长9 小时前
计算机二级 Python 基本操作题(15 分)真题笔记(0101 ~ 1903 全套)
python·pycharm
醇氧10 小时前
MySQL 8.0 系统表损坏与引擎转换故障排查实战
数据结构·算法