最新 最热

判断一棵树是否是搜索二叉树

搜索二叉树它是一种节点值之间具有一定数量级次序的二叉树,对于树中每个节点: 若其左子树存在,则其左子树中每个节点的值都不大于该节点值; 若其右子树存在,则其右子树中每个节点的值都不小于该节点值。思想:实际上只要树...

2022-05-13
0

判断树是不是平衡二叉树

关键思想: 递归遍历每个结点的左右树 若左树或者右树不是平衡二叉树则该结点树也不少平衡二叉树 若左树或者右树都是平衡二叉树则判断左右树高度之差,如果高度差大于1也是不平衡二叉树,否则该结点是平衡二叉树,高度是...

2022-05-13
0

二叉树的序列化和反序列化

思路 : 序列化:先序遍历树,将树中字符转换进字符串,空值设置为null,隔断符号设置为! 反序列化:先将!做分隔符分隔字符串为数组,装进队列,递归遍历队列,设置结点和其左右结点....

2022-05-13
0

在二叉树中找到一个节点的后继节点

该结构比普通二叉树节点结构多了一个指向父节点的parent指针。 假设有一棵该Node类型的节点组成的二叉树,树中每个节点的parent指针 都正确地指向自己的父节点,头节点的parent指向null。 只给一个在二叉树中的某个节点 ...

2022-05-13
0

直观的打印一颗二叉树

直观的打印一颗二叉树即打印时候树状显示 代码package com.algorithm.practice.tree;public class PrintBinaryTree { public static class Node { public int value; p...

2022-05-13
0

从上往下打印二叉树

题目 :从上往下打印出二叉树的每个节点,同层节点从左至右打印思路:就是按层打印嘛,每次把数据放队列中即可代码 : public ArrayList<Integer> PrintFromTopToBottom(TreeNode root) { ArrayList<Integer> array...

2022-05-13
1

求二叉树的深度.

输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度

2022-05-13
0

平衡二叉树判断

平衡二叉树:它的左子树和右子树的深度之差(平衡因子)的绝对值不超过1,且它的左子树和右子树都是一颗平衡二叉树。

2022-05-13
0

把二叉树打印成多行.

题目描述从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。思路:仿之字打印矩阵,奇数层放奇数队列,偶数层放偶数队列.代码:ArrayList<ArrayList<Integer>> Print(TreeNode pRoot) { ArrayList<...

2022-05-13
1

二叉树中和为某一值的路径

输入一颗二叉树的根节点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。 路径定义为从树的根结点开始往下一直到叶结点所经过的结点形成一条路径。 (注意: 在返回值的list中,数组长度大的数组靠前)...

2022-05-13
0