654.最大二叉树
题目链接/文章讲解:代码随想录
视频讲解:又是构造二叉树,又有很多坑!| LeetCode:654.最大二叉树_哔哩哔哩_bilibili
笔记:类似用数组构造二叉树的题目,每次分隔尽量不要定义新的数组,而是通过下标索引直接在原数组上操作,这样可以节约时间和空间上的开销。如果让空节点(空指针)进入递归,就不加if,如果不让空节点进入递归,就加if限制一下, 终止条件也会相应的调整。
617.合并二叉树
题目链接/文章讲解:代码随想录
视频讲解:一起操作两个二叉树?有点懵!| LeetCode:617.合并二叉树_哔哩哔哩_bilibili
笔记:同时遍历两个二叉树和遍历一个树逻辑一样,只不过传入两个树的节点,同时操作
700.二叉搜索树中的搜索
题目链接/文章讲解: 代码随想录
视频讲解:不愧是搜索树,这次搜索有方向了!| LeetCode:700.二叉搜索树中的搜索_哔哩哔哩_bilibili
笔记:迭代法中,如果搜索到了val,要将该节点返回。 如果不用一个变量将其接住,那么返回值就没了。二叉树遍历的迭代法,使用栈来模拟深度遍历,或使用队列来模拟广度遍历。二叉搜索树,不需要回溯的过程,因为节点的有序性就帮我们确定了搜索的方向。
98.验证二叉搜索树
题目链接/文章讲解:代码随想录
笔记:不是单纯的比较左节点小于中间节点,右节点大于中间节点,要比较左子树所有节点小于中间节点,右子树所有节点大于中间节点。考虑中序遍历生成有序列表。