You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
const isHouMap = arr => {
if (arr && arr.length) {
const root = arr[arr.length - 1];
let i = 0;
for (; i < arr.length - 1; i++) {
if (arr[i] > root) break;
}
let j = i;
for (; j < arr.length - 1; j++) {
if (arr[j] < root) return false;
}
let left = true;
if (i > 0) {
left = isHouMap(arr.slice(0, i));
}
let right = true;
if (j < arr.length - 1) {
right = isHouMap(arr.slice(i, j));
}
return left && right;
}
return false;
}
对树数据结构常见的算法进行总结,也为了更好滴应对后面深入学习算法。
中序遍历
递归实现。
答案
非递归实现。
答案
前序遍历
递归实现。
答案
非递归实现。
答案
后序遍历
递归实现。
答案
非递归实现。
答案
重建二叉树
已知前序遍历和中序遍历,返回二叉树
答案
已知前序遍历和中序遍历,返回后序遍历
答案
对称二叉树
判断一颗树是否为对称的
答案
二叉树的镜像
将一颗二叉树转换成其镜像返回
答案
二叉搜索树的第K个节点
给定一个二叉搜索树,找出其中的第K小的节点
答案
二叉搜索树的后序遍历
输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果
答案
二叉树的最大深度
给定一个二叉树,找出其最大深度
答案
二叉树的最小深度
给定一个二叉树。找出其最下深度
答案
平衡二叉树
输入一颗二叉树,判断二叉树是否为平衡二叉树
答案
二叉树中和胃某一值的路径
输入一颗二叉树的根结点和一个整数,打印出二叉树中结点值的和为输入整数的所有路径。
路径定义为从树的根结点开始往下已知到叶结点所形成的一条路径。
答案
二叉搜索树与双向链表
输入一颗二叉搜索树,将该二叉搜索树转换成一个排序的双向链表
要求不能创建任何新的结点,只能调整树中结点指针的指向。
答案
序列化二叉树
请实现两个函数,分别用来序列化和反序列化二叉树
答案
二叉树的下一个节点
给定一个二叉树中的一个节点,请找出中序遍历顺序的下一个节点并且返回。
注意树中的节点不仅仅包含左右节点,同时还包含指向父节点的指针
答案
树的子结构
输入两颗二叉树A、B,判断B是不是A的子结构。
约定空树不是任何树的子结构。
答案
The text was updated successfully, but these errors were encountered: