#叉树

LeetCode(102):二叉树的层次遍历

Medium!题目描述:给定一个二叉树,返回其按层次遍历的节点值。(即逐层地,从左到右访问所有节点)。例如:给定二叉树: [3,9,20,null,null,15,7],3/920/157返回其层次遍历结果:[[3],[9,20],[15,7]]解题思路:层序遍历二叉树是典型的广度优先搜索BFS的应用,但是这...
代码星球 ·2021-02-16

LeetCode(101):对称二叉树

Easy!题目描述:给定一个二叉树,检查它是否是镜像对称的。例如,二叉树 [1,2,2,3,4,4,3] 是对称的。1/22//3443但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的:1/2233说明:如果你可以运用递归和迭代两种方法解决这个问题,会很...
代码星球 ·2021-02-16

LeetCode(94):二叉树的中序遍历

Medium!题目描述:给定一个二叉树,返回它的中序 遍历。示例:输入:[1,null,2,3]12/3输出:[1,3,2]进阶: 递归算法很简单,你可以通过迭代算法完成吗?解题思路:二叉树的中序遍历顺序为左-根-右,可以有递归和非递归来解,其中非递归解法又分为两种,一种是使用栈来解,另一种不需要使...
代码星球 ·2021-02-16

PHP二叉树的先序,中序,后续遍历实现方式

<?php/*********************************************************我写的PHP都是从C语言的数据结构中演化而来************************************************************************...

数据结构(二)之二叉树

p.p1{margin:0;font:28pxVerdana;-webkit-text-stroke:#000000}p.p2{margin:0;font:14pxVerdana;-webkit-text-stroke:#000000}p.p3{margin:0;font:14pxVerdana;-webkit-tex...
代码星球 ·2021-02-13

重建二叉树 来源:牛客网

题目要求:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 要做这道题需要深刻了解二叉树先序中序的原理,先序遍历指的是先访...
代码星球 ·2021-02-09

二叉树深度 --牛客网

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 本题用递归方式求解,代码最为简洁。classSolution{public:intTreeDepth(TreeNode*pRoot){intleftdep=1,rightdep=1;if(...
代码星球 ·2021-02-09

判断平衡二叉树 --牛客网

输入一棵二叉树,判断该二叉树是否是平衡二叉树。  平衡二叉树是一棵空树或它的左右两个子树的高度差的绝对值不超过1,并且左右两个子树都是一棵平衡二叉树。本题可以视为上题的进阶版,同样用递归方式做。classSolution{public:boolIsBalanced_Solution(TreeNode...
代码星球 ·2021-02-09

算法笔记_189:历届试题 横向打印二叉树(Java)

/目录1问题描述2解决方案问题描述二叉树可以用于排序。其原理很简单:对于一个排序二叉树添加新节点时,先与根节点比较,若小则交给左子树继续处理,否则交给右子树。当遇到空子树时,则把该节点放入那个位置。比如,10857124的输入顺序,应该建成二叉树如下图所示,其中.表示空白。...|-1210-|...|-8-|.......

leetcode 111-二叉树最小深度

  首先,最小深度的定义为根节点到最近叶子节点的深度,  那么,空树的最小深度为0;  左右子树都不存在的节点,最小深度为1;  左右子树不都为空,左右子树中有空树的情况,最小深度一定是在非空树中产生,因为最小深度定义为到最近叶子节点的深度。一旦左右子树有空的情况,这边的深度就可以置为正无穷,表示最小深度不可能再这里产...

Q222:满二叉树结点个数

/***Definitionforabinarytreenode.*publicclassTreeNode{*intval;*TreeNodeleft;*TreeNoderight;*TreeNode(intx){val=x;}*}*/classSolution{publicintcountNodes(TreeNode...
代码星球 ·2021-02-03

算法练习之二叉树的最小深度,路径总和

1.二叉树的最小深度给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶子节点的最短路径上的节点数量。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7],3/920/157返回它的最小深度2.java/***Definitionforabinarytre...

算法练习之将有序数组转换为二叉搜索树,平衡二叉树

1.将有序数组转换为二叉搜索树将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。题中,高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。示例:给定有序数组:[-10,-3,0,5,9],一个可能的答案是:[0,-3,9,-10,null,5],它可以表示下面这个高度平衡二...

算法练习之二叉树的最大深度,二叉树的层次遍历 II

1.二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明: 叶子节点是指没有子节点的节点。示例:给定二叉树 [3,9,20,null,null,15,7],3/920/157返回它的最大深度 3。java/***Definitionf...
首页上一页12345...下一页尾页