1. 530.二叉搜索树的最小绝对差
二叉搜索树,用什么方法不用我多说了吧.
我的代码:
var getMinimumDifference = function(root) {
let arr = []
const DFS = function(node){
if(node){
DFS(node.left);
arr.push(node.val);
DFS(node.right);
}
}
DFS(root);
const result = Math.abs(arr[1]-arr[0])
return result
};
结果只通过了1/5的test case
打印了下想明白了,不是第一个和第二个的差就是最小的,你得算n-1个gap而不只是第一个和第二个的
2. 501.二叉搜索树中的众数
看到二叉搜索树,第一反应中序遍历转为有序数组操作,但是对数组的操作开始陌生了.
- js里没法new List(),去复习前面的part
- 大概想起来是用快慢指针,但是不知道怎么移动.(不要只想着slow,fast,要记得还可以是cur,pre)
以及写完了发现读题读错了,人家要的不是重复元素,人家要的是出现频率最多的元素.
用的是快慢指针,定义是pre 和cur,用pre指向cur的前一个节点,是在遍历的时候就操作了.如果想在外面操作也行,也可以用多余空间建一个map
3. 236. 二叉树的最近公共祖先
再别说了,后序我知道,因为要从底下开始, 处理逻辑其实挺明朗的,