【LeetCode:637. 二叉树的层平均值 | bfs】
🍔 目录 🚩 题目链接⛲ 题目描述🌟 求解思路&实现代码&运行结果⚡ BFS🥦 求解思路🥦 实现代码 - bfs🥦 运行结果 💬 共勉 🚩 题目链接 637. 二叉树的层平均值 ⛲ 题目描述 给定一个非空二叉树的根节点 root , 以数组的形式返回每一层节点的平均值。与实际答案相差 10-5 以内的答案可以被接受。 提示: 树中节点数量在 [1, 104] 范围内 -231 <= Node.val...
【LeetCode刷题(数据结构与算法)】:二叉搜索树的范围和
一、什么是二叉搜索树 二叉搜索树(BST,Binary Search Tree),也称二叉排序树或二叉查找树 二叉搜索树:一棵二叉树,可以为空;如果不为空,满足以下性质 非空左子树的所有键值小于其根结点的键值 非空右子树的所有键值大于其根结点的键值 左、右子树都是二叉搜索树 上图值为10的结点的右子树为7,比10小,不满足条件2,所以这棵树不是二叉搜索树 上图各个结点都满足条件,所以这棵树是二叉搜索...
LeetCode算法刷题(python) Day43|09动态规划|343. 整数拆分、96.不同的二叉搜索树
目录 LeetCode 343. 整数拆分LeetCode 96.不同的二叉搜索树 LeetCode 343. 整数拆分 力扣题目链接 正整数n,先拆成两个数i, n-i,拆成多个数可以对n-i进行拆分,然后对这些求最大值。 确定dp数组以及下标的含义:对i进行拆分的最大乘积确定递归公式:dp[i] = max(dp[i], j * (i - j), j * dp[i-j])dp数组如何初始化:dp...
【LeetCode刷题(数据结构与算法)】:二叉树的最大深度
给定一个二叉树 root ,返回其最大深度 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数 输入:root = [3,9,20,null,null,15,7] 输出:3 示例 2: 输入:root = [1,null,2] 输出:2 而左子树和右子树的最大深度又可以以同样的方式进行计算。因此我们可以用「深度优先搜索」的方法来计算二叉树的最大深度。具体而言,在计算当前二叉树的最大深...
二叉树题目:从中序与后序遍历序列构造二叉树
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:从中序与后序遍历序列构造二叉树 出处:106. 从中序与后序遍历序列构造二叉树 难度 5 级 题目描述 要求 给定两个整数数组 inorder \texttt{inorder} inorder 和 postorder \texttt{postorder} po...
代码随想录算法训练营第23期day22|669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
目录 一、(leetcode 669)修剪二叉搜索树 二、(leetcode 108)将有序数组转换为二叉搜索树 三、(leetcode 538)把二叉搜索树转换为累加树 一、(leetcode 669)修剪二叉搜索树 力扣题目链接 不能简单地对节点进行是否在区间内的判断就返回空节点。这样会遗漏掉左孩子右子树和右孩子左子树中符合条件的节点。至于如何将相关节点放到对应的位置,要下层节点返回,上层节点接收...
【LeetCode刷题(数据结构与算法)】:上下翻转二叉树
给你一个二叉树的根节点 root ,请你将此二叉树上下翻转,并返回新的根节点 你可以按下面的步骤翻转一棵二叉树: 原来的左子节点变成新的根节点 原来的根节点变成新的右子节点 原来的右子节点变成新的左子节点 上面的步骤逐层进行。题目数据保证每个右节点都有一个同级节点(即共享同一父节点的左节点)且不存在子节点 示例 1: 输入:root = [1,2,3,4,5] 输出:[4,5,2,null,null...
二叉树题目:从前序与中序遍历序列构造二叉树
文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:从前序与中序遍历序列构造二叉树 出处:105. 从前序与中序遍历序列构造二叉树 难度 5 级 题目描述 要求 给定两个整数数组 preorder \texttt{preorder} preorder 和 inorder \texttt{inorder} ino...
【LeetCode刷题(数据结构与算法)】:平衡二叉树
给定一个二叉树,判断它是否是高度平衡的二叉树 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1 输入:root = [3,9,20,null,null,15,7] 输出:true 输入:root = [1,2,2,3,3,null,null,4,4] 输出:false 示例 3: 输入:root = [] 输出:true 这道题中的平衡二叉树的定义是:...
【LeetCode刷题(数据结构)】:二叉树的前序遍历
给你二叉树的根节点root 返回它节点值的前序遍历 示例1: 输入:root = [1,null,2,3] 输出:[1,2,3] 示例 2: 输入:root = [] 输出:[] 示例 3: 输入:root = [1] 输出:[1] 示例 4: 输入:root = [1,2] 输出:[1,2] 示例 5: 输入:root = [1,null,2] 输出:[1,2] 方法:递归 思路与算法 首先我们需...