本题实际上考察开发者对二叉树这种数据结构的理解。许多实际问题抽象出来的数据结构往往是二叉树形式,而且二叉树的存储结构及其算法都比较简单,因此二叉树显得特别重要。

本题求二叉树的深度,这也是二叉树中一个较为简单的算法,最简单的方法是使用递归。基本思路就是:从根结点出发,查询左子树的深度,查询右子树的深度,取较大的一个,然后加一即可,这也是很好理解的一种。这是采用递归的方式进行解答,比较简单。

再看了牛客网的讨论之后,我了解到求树的深度还有一种层次遍历的方法,这也是一种基础的方法。

这就涉及到二叉树的遍历方式了,具体包括:层次遍历、前序遍历、中序遍历、后序遍历是二叉树基本的遍历方式。其中前序遍历、中序遍历、后序遍历也是采用递归的形式,比较简单。层次遍历则相对复杂一些,自己也不是记得如何写层次遍历的代码,所以趁这个机会也复习巩固一下。

层次遍历,可以借助队列先进先出的特点,也就是使用队列存储每一层节点,每取出一个节点就将该节点的左右节点存入到队列当中。
2020-07-29
在牛客打卡6天,今天学习:刷题 1 道/代码提交 2 次
全部评论

相关推荐

点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务