二叉树

涉及到二叉树的构造,无论普通二叉树还是二叉搜索树一定前序,都是先构造中节点。

求普通二叉树的属性,一般是后序,一般要通过递归函数的返回值做计算。

二叉搜索树的属性,一定是中序了,要不白瞎了有序性了。

合并二叉树:和一个二叉树逻辑差不多,递归函数传俩值,分别判断两节点;
二叉搜索树:重点是使用中序遍历存一个有序数组,之后数组操作;也可用全搜索的形式,来在递归过程中进行更新;

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
var getMinimumDifference = function (root) {
let res = Infinity
let preNode = null
// 中序遍历
const inorder = (node) => {
if (!node) return
inorder(node.left)
// 更新res
if (preNode) {
res = Math.min(res, node.val - preNode.val)
}
// 记录前一个节点
preNode = node
inorder(node.right)
}
inorder(root)
return res
}