欢迎光临散文网 会员登陆 & 注册

刷题第十一天

2023-08-13 22:05 作者:叶荜莉  | 我要投稿

今天一定要结束二叉树!!!

98. 验证二叉搜索树:

这题需要知道二叉搜索树的特点,中序遍历的话是递增的数组。所以只要中序遍历就可以了。

108. 将有序数组转换为二叉搜索树:

这题递归很简单。如果数组空返回null,找到数组的中点i,中点就是当前的root,然后将数组分为i前,递归左子树,i后递归右子树。

450. 删除二叉搜索树中的节点:

如果root为null,返回null,如果root的val大于key,说明key在左子树,递归左子树,root的left等于递归的返回值。如果val等于key,就找到root的右子树的最小值node,也就是右子树的最左节点,令root的值等于node,再递归删除node节点,key为node的val,root的right等于递归返回值。

501. 二叉搜索树中的众数:

先中序遍历,结果输出到数组中,然后处理数组,计数。

530. 二叉搜索树的最小绝对差:

先中序遍历,结果输出到数组中,然后比较前后两个数的差,取最小值。

538. 把二叉搜索树转换为累加树:

这是一个中序遍历,只不过是右根左的顺序。用一个sum的全局变量,初始化为0,在root改变val时,sum要加上val值。

700. 二叉搜索树中的搜索:

如果root.val小于val,root等于递归的root右子树的返回值,大于val,为递归的root左子树的返回值。最后返回root。

701. 二叉搜索树中的插入操作:

如果root为null,就说明当前是插入的位置。如果root.val大于val,root的left等于递归left的返回值。最后返回root。

110. 平衡二叉树:

递归函数,参数为root,返回值int,返回当前最大的深度。




刷题第十一天的评论 (共 条)

分享到微博请遵守国家法律