代码编织梦想

【练习】二叉树(利用二叉树父结点与叶子结点的关系)-爱代码爱编程

二叉树 题目描述 如上所示,由正整数1,2,3……组成了一颗特殊二叉树。我们已知这个二叉树的最后一个结点是n。现在的问题是,结点m所在的子树中一共包括多少个结点。 比如,n = 12,m = 3那么上图中的结点13,14,

03-树1 树的同构-爱代码爱编程

给定两棵树T1和T2。如果T1可以通过若干次左右孩子互换就变成T2,则我们称两棵树是“同构”的。例如图1给出的两棵树就是同构的,因为我们把其中一棵树的结点A、B、G的左右孩子互换后,就得到另外一棵树。而图2就不是同构的。 图1

【练习】树查找(完全二叉树)-爱代码爱编程

树查找 题目描述 有一棵树,输出某一深度的所有节点,有则输出这些节点,无则输出EMPTY。该树是完全二叉树。 输入格式 输入有多组数据。 每组输入一个n(1<=n<=1000),然后将树中的这n个节点依次输入,

leetcode226 翻转二叉树-爱代码爱编程

 解法 class Solution { public TreeNode invertTree(TreeNode root) { //递归函数的终止条件,节点为空时返回 if(root==null) { return null; } //下面三句是将当前节点的左右子树交换 TreeNode tmp = root

【练习】二叉树遍历-爱代码爱编程

二叉树遍历 输入格式 两个字符串,其长度n均小于等于26。 第一行为前序遍历,第二行为中序遍历。 二叉树中的结点名称以大写字母表示:A,B,C…最多26个结点。 输出格式 输入样例可能有多组,对于每组测试样例, 输出一行,

【java实现二叉树的各种遍历方式】-爱代码爱编程

二叉树的各种遍历方式 通过递归方式,可实现二叉树的层级遍历,先序,中序,后序等遍历方式。 package com.ykq; import java.util.ArrayList; import java.util.Li

二叉树算法—java版-爱代码爱编程

遍历方式 深度优先遍历(一般采用递归或栈实现) 前序遍历(递归法,迭代法)中序遍历(递归法,迭代法)后序遍历(递归法,迭代法) 广度优先遍历(一般采用队列实现) 层次遍历(迭代法) 代码实现 Jav

day12:代码随想录算法训练营第十二天| 二叉树基础 二叉树的递归迭代遍历-爱代码爱编程

二叉树基础理论 1.基本二叉树分类 1.满二叉树 满二叉树就是每一层的结点都是满的,只有度为2或0的结点。 若二叉树深度为k,则易得节点总数统计结果为2^k - 1 2.完全二叉树 在完全二叉树中,除了最底层节点可能没填

二叉树的最近公共祖先【二叉树】-爱代码爱编程

题目 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个节点 p、q,最近公共祖先表示为一个节点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一

计算完全二叉树的节点个数-爱代码爱编程

题目链接 222. 完全二叉树的节点个数 - 力扣(LeetCode) 题目描述 解题思路  这个题目其实是一个简单题目,无论是什么样的二叉树,只要进行遍历,计算数量还是非常简单的。但之所以会有一个满二叉树的的前提,是因为满二叉树的计算可能会有一些神略的遍历。 解题代码 C++ #include<iostream> #incl

java每日一练(20230312)-爱代码爱编程

目录 1. 两数之和 II  ★ 2. 反转链表  ★★ 3. 二叉树的层序遍历 II  ★★★ 🌟 每日一练刷题专栏 C/C++ 每日一练 ​专栏 Python 每日一练 专栏 Java 每日一练 专栏 1. 两数之和 II 给定一个已按照 非递减顺序排列  的整数数组 numbers ,请你从数组中找出两个数满足相加之和等于

c/c++每日一练(20230312) 二叉树专场-爱代码爱编程

目录 1. 二叉树的中序遍历  ★★ 2. 平衡二叉树  ★★ 3. 二叉树中的最大路径和  ★★★ 🌟 每日一练刷题专栏 C/C++ 每日一练 ​专栏 Python 每日一练 专栏 1. 二叉树的中序遍历 给定一个二叉树的根节点 root ,返回它的 中序 遍历。 示例 1: 输入:root = [1,null,2,3]

java的二叉树、红黑树、b+树-爱代码爱编程

数组和链表是常用的数据结构,数组虽然查找快(有序数组可以通过二分法查找),但是插入和删除是比较慢的;而链表,插入和删除很快(只需要改变一些引用值),但是查找就很慢,需要从头开始遍历; 那么有没有一种数据结构能同时具备数组查找快的优点以及链表插入和删除快的优点呢,那就是接下来要介绍的——树。 1、二叉查找树 特性: 1、左子树上所有节点的值均小于它的根

合并二叉树【二叉树】-爱代码爱编程

题目 给你两棵二叉树: root1 和 root2 。 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些节点将会重叠(而另一些不会)。你需要将这两棵树合并成一棵新二叉树。合并的规则是:如果两个节点重叠,那么将这

最大二叉树【二叉树】-爱代码爱编程

题目 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点,其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值

二叉树【从中序与后序遍历序列构造二叉树】-爱代码爱编程

题目 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder

leetcode889. 根据前序和后序遍历构造二叉树-爱代码爱编程

前序遍历为: (根结点) (前序遍历左分支) (前序遍历右分支) 而后序遍历为: (后序遍历左分支) (后序遍历右分支) (根结点) 我们令左分支有 L个节点。我们知道左分支的头节点为 pre[1],是前序遍历根节点后面的

二叉搜索树中的众数-爱代码爱编程

目录 一.题目描述二.题目分析三.中序遍历递归代码四.拓展:如果二叉树不是二叉搜索树1.解题思路2.递归代码 五.总结 文章内容是自己刷leetcode题目的一些总结。 文章内容参考公众号: 代码随想

看完这篇我不信你不会二叉树的层序遍历【c语言】-爱代码爱编程

目录 实现思路 代码实现 之前介绍了二叉树的前、中、后序三种遍历,采用的是递归的方式。今天我们来学习另外一种遍历方式——层序遍历。层序遍历不容小觑,虽然实现方法并不难,但是它所采取的思路是很值得学习的,与前三者不同,我们将采用非递归的方式实现。 层序遍历:从二叉树的根节点出发(设根节点所在为第一层),从上到下,从左到右的一次访问第一、第二、第

c++实现的二叉树创建和遍历,超入门邻家小女也懂了-爱代码爱编程

目录 二叉树  特点 性质 二叉树的创建 声明 创建 -> 成员运算符 批量创建 二叉树的遍历 先序遍历 中序遍历 后序遍历 层序遍历 树的相关术语 特殊二叉树 满二叉树 完全二叉树 二叉树  树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中有且仅有一个特定的称为根(Root)的节点;当n>1