上次说道了一般的二叉树 ,今天聊聊二叉搜索树。这个也不是特别难吧。(好吧,刷多了觉得树出不了难题了。。。)
构建BST
95 构建所有可能的二叉搜索树 ,这个就是分治慢慢做呗,真的是穷举啊。接下来96题看起来很像,然而那是考察动态规划的,装备不足不要轻易尝试。
449 序列化和反序列化BST,这题和297题很像,至于如何利用BST的特性,自己想
基本操作
700 在BST中找某一特定节点,这题会二分查找的都会做
701向BST插入节点,稍微靠谱的数据结构教程都有
450 删除BST的特定节点 同上
235 找BST中两节点的最近祖先节点, 依然是考察BST的特性,最近祖先节点的特征是值在两节点的值之间
669 trim BST 不知道咋说 不难
897 这题是要把BST退化为链状结构,其实倾向于分类到链表那里的
中序遍历
和BST有关的相当一部分问题其实是基于中序遍历的。为啥是中序遍历?中序遍历正好是排好序从小到大访问,做这么多题了,不少题都是要上来排个序才好做啊。
98 判断是否是合法BST 中序遍历
99 中序遍历BST 找到交换的节点
230 中序遍历找到第k小元素
501 获取BST中出现频率最高的项 中序遍历
530 获取BST中 两节点之间差值的最小值 中序遍历
538 convert bst to greater tree
783 与530重题(对 竟然还有重题。。。。。)
最后给自己仓库打个广告(leetcode js实现)
jiangshanmeta/metagithub.com