美文网首页
简单热门二叉树算法题目简述

简单热门二叉树算法题目简述

作者: 拔丝圣代 | 来源:发表于2021-03-20 18:35 被阅读0次

    二叉树的题目通常都是通过递归的方式来解决。
    https://leetcode.com/explore/interview/card/top-interview-questions-easy/94/trees

    题目1: 求二叉树的高度

    解法

    左右子树的深度较大的那一个+1

    题目2: 验证一个树是不是合法的搜索二叉树

    解法

    递归求子树的是否合法,且返回子树中的最大最小值。
    如果左右子树都合法,且左子树的最大值<当前节点值<右子树的最小值,则当前节点的树合法,且最小值为左子树的最小值,最大值为右子树的最大值。

    题目3: 判断一棵树是否对称

    解法

    判断两棵树是否对称可以递归:一棵树的左子树与另一棵树的右子树对比。
    判断一棵树是否对称,只要当作是两棵树,判断这棵树与他本身是否对称即可。

    题目4: 按层输出二叉树

    解法

    广度优先遍历。用一个队列,首先把根结点放入,然后进入循环:从队列中取出节点访问,并将其左右子树插入队尾。
    因为这里要分层,所以需要感知什么时候一层遍历结束,只需要将根结点放入队列时,再插入一个 特殊标志,比如null。每当从队列中取到null时,代表一层结束,再将其插入队尾。

    题目5: 将一个有序数组转为平衡二叉搜索树

    解法

    将中间的数拿出来做树根,左右两部分分别作为两个子树递归即可。

    相关文章

      网友评论

          本文标题:简单热门二叉树算法题目简述

          本文链接:https://www.haomeiwen.com/subject/ecbwcltx.html