随笔分类 - 算法 / 二叉树
摘要:669. 修剪二叉搜索树 题目链接:669. 修剪二叉搜索树 - 力扣(LeetCode) 思路 在 删除二叉搜索树中节点值为key的节点 这一题中,分五种情况来考虑,找到节点后删除即可。 而这道题是要求删除所有不在[low, high]之间的节点。 最简单的方法,遍历所有节点,如果不在low, h
阅读全文
摘要:110.平衡二叉树 题目链接:110. 平衡二叉树 - 力扣(LeetCode) 题目 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 。 示例 1: 输入:root = [3,9,20,null,nu
阅读全文
摘要:235. 二叉搜索树的最近公共祖先 题目链接:235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 思路 本题可以利用二叉搜索树 有序 的特性。 在有序树里,如果判断一个节点的左子树里有p,右子树里有q呢? 因为是有序树,所有 如果 中间节点是 q 和 p 的公共祖先,那么 中节点的数组
阅读全文
摘要:530.二叉搜索树的最小绝对差 题目链接:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 思路 题目中要求在二叉搜索树上任意两节点的差的绝对值的最小值。 注意是二叉搜索树,二叉搜索树可是有序的。 遇到在二叉搜索树上求什么最值啊,差值之类的,就把它想成在一个有序数组上求最值,求差值,这
阅读全文
摘要:654.最大二叉树 题目链接:654. 最大二叉树 - 力扣(LeetCode) 题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。递归地在最大值 左边 的 子数组前缀上 构建左子树。递归地在最大值 右
阅读全文
摘要:513.找树左下角的值 题目链接:513. 找树左下角的值 - 力扣(LeetCode) 题目 给定一个二叉树的 根节点 root,请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root = [2,1,3] 输出: 1 示例 2: 输入: [1,2,
阅读全文
摘要:104.二叉树的最大深度 题目链接 : 104. 二叉树的最大深度 - 力扣(LeetCode) 题目 给定一个二叉树,找出其最大深度。 二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。 说明: 叶子节点是指没有子节点的节点。 示例:给定二叉树 [3,9,20,null,null,15,7]
阅读全文
摘要:102.二叉树层序遍历 题目链接:102. 二叉树的层序遍历 - 力扣(LeetCode) 题目 给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。 示例 1: 输入:root = [3,9,20,null,null,15,7] 输出:[[3],[9,
阅读全文
摘要:理论基础 1、二叉树的种类 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 这棵二叉树为满二叉树,也可以说深度为k,有2^k-1个节点的二叉树。 完全二叉树:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下
阅读全文

浙公网安备 33010602011771号