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

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

作者: 拔丝圣代 | 来源:发表于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://leetcode.com/explore/intervi...

  • Leetcode 144 二叉树的前序遍历

    二叉树的前序遍历 题目 给定一个二叉树,返回它的 前序 遍历。 示例: 进阶: 递归算法很简单,你可以通过迭代算法...

  • [算法][2]反转二叉树

    前言 继续继续算法第二篇 题目 简单描述: 反转二叉树 问题详情Invert Binary Tree. 解法: 1...

  • 极客时间算法40讲

    简述 极客时间算法40讲中所出现的leetcode算法题 题目 【链表】reverse-linked-list(反...

  • 数据结构题目44:判断两个二叉树是否相似

    题目:判定两棵二叉树是否相似的算法,若相似,算法返回1,否则返回0。 解题思路:该算法利用二叉树的前序遍历操作对两...

  • 二叉树的中序遍历(Java)——Morris迭代算法

    二叉树的中序遍历 对于此题而言,若采用递归算法(简单),我们使用深度优先算法来遍历二叉树。若采用迭代算法,我们使用...

  • 二叉树--二叉查找树定义

    今天时间有限,就没有单独实现二叉树算法,简单实现了一个二叉查找树的类。 题目介绍 实现一个二叉树,实现以下两个功能...

  • 《剑指Offer》树考点题解

    题目链接:把二叉树打印成多行 题目简述 从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 题解思路...

  • 二叉树遍历

    看了左程云老师的算法课,记录学习过程,整理思路和形成系统认识。 题目(算法课第五课) 二叉树遍历。二叉树定义,和二...

  • 数据结构题目38:求二叉树的深度

    题目:已知二叉树采用二叉链表存储结构,根结点所在链结点的地址为T,写一递归算法,求该二叉树的深度。 (一)递归算法...

网友评论

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

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