【LeetCode刷题(数据结构与算法)】:上下翻转二叉树

给你一个二叉树的根节点 root ,请你将此二叉树上下翻转,并返回新的根节点 你可以按下面的步骤翻转一棵二叉树: 原来的左子节点变成新的根节点 原来的根节点变成新的右子节点 原来的右子节点变成新的左子节点 上面的步骤逐层进行。题目数据保证每个右节点都有一个同级节点(即共享同一父节点的左节点)且不存在子节点 示例 1: 输入:root = [1,2,3,4,5] 输出:[4,5,2,null,null,...

二叉树题目:从前序与中序遍历序列构造二叉树

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法一思路和算法代码复杂度分析 解法二思路和算法代码复杂度分析 题目 标题和出处 标题:从前序与中序遍历序列构造二叉树 出处:105. 从前序与中序遍历序列构造二叉树 难度 5 级 题目描述 要求 给定两个整数数组 preorder \texttt{preorder} preorder 和 inorder \texttt{inorder} inor...

【LeetCode热题100】--105.从前序与中序遍历序列构造二叉树

105.从前序与中序遍历序列构造二叉树 二叉树前序遍历顺序:根左右 二叉树中序遍历顺序:左根右 只要我们在中序遍历中定位到根节点,那么我们就可以分别知道左子树和右子树中的节点数目。由于同一颗子树的前序遍历和中序遍历的长度显然是相同的,因此我们就可以对应到前序遍历的结果中,对上述形式中的所有左右括号进行定位。 这样以来,我们就知道了左子树的前序遍历和中序遍历结果,以及右子树的前序遍历和中序遍历结果,我们...

【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] 方法:递归 思路与算法 首先我们需要...

【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 这道题中的平衡二叉树的定义是:二...

代码随想录算法训练营第23期day20| 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

目录 一、(leetcode 530)二叉搜索树的最小绝对差 二、(leetcode 501)二叉搜索树中的众数 1.二叉搜索树 2.非二叉搜索树 思路 三、(leetcode 236)二叉树的最近公共祖先 一、(leetcode 530)二叉搜索树的最小绝对差 力扣题目链接 二叉搜索树采用中序遍历,其实就是一个有序数组 class Solution {private:vector<int> vec...

二叉树题目:二叉树寻路

文章目录 题目标题和出处难度题目描述要求示例数据范围 解法思路和算法代码复杂度分析 题目 标题和出处 标题:二叉树寻路 出处:1104. 二叉树寻路 难度 5 级 题目描述 要求 在一个无限的二叉树上,每个结点都有两个子结点,结点按行标号。 在奇数行(即,第一行、第三行、第五行……)中,按从左到右的顺序标号。在偶数行(即,第二行、第四行、第六行……)中,按从右到左的顺序标号。 给定树上某一个结点的标号...

数据结构 - 二叉树

递归实现前中后序遍历 #include<stdio.h>#include<stdlib.h> #define TElemType int typedef struct BiTNode{ TElemType data; struct BiTNode *lchild,*rchild;}BiTNode,*BiTree;BiTNode root; void visit(TElemType& e){ pr...

代码随想录算法训练营第23期day19| 654.最大二叉树、617.合并二叉树、700.二叉搜索树中的搜索、98.验证二叉搜索树

目录 一、(leetcode 654)最大二叉树 二、(leetcode 617)合并二叉树 三、(leetcode 700)二叉搜索树中的搜索 四、(leetcode 98)验证二叉搜索树 一、(leetcode 654)最大二叉树 力扣题目地址 和昨天的中序+后/前序遍历序列构建二叉树思路类似,每次递归寻找数组中的最大值,根据最大值的索引来切分左右子序列进行递归生成,可以用索引下标来避免重复生成ve...

代码随想录算法训练营第23期day14|二叉树层序遍历、226.翻转二叉树、101. 对称二叉树

目录 一、二叉树层序遍历 非递归法 递归法 相关题目(10题)  二、(leetcode 226)翻转二叉树 递归法 层序遍历 深度优先遍历 1)非统一写法——前序遍历 2) 统一写法——前序遍历 三、(leetcode 101)对称二叉树 递归法 迭代法 1)使用队列 2)使用栈 一、二叉树层序遍历 借用队列实现,因为队列先进先出,符合层序遍历逻辑 非递归法 class Solution {publ...
© 2024 LMLPHP 关于我们 联系我们 友情链接 耗时0.011887(s)
2024-09-17 03:52:51 1726516371