LeetCode第199题,二叉树的右视图,顾名思义就是给你一颗二叉树,让你说出这棵二叉树从右边看是啥样的。有点像小学数学课上学的给你一堆正方体,让你判断从各个方向看是啥样的。
题目描述是给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。是不是很像,只不过这个是二维的,要是让咱们直观的说出来那肯定再简单不过了。但是要用代码找出这个右视图的节点,可能就要思考思考了。
官方给出的示例,很简单也很直观,我首先想到的是二叉树的层序遍历。
二叉树的层序遍历就是从上到下先访问根节点,然后访问根节点的左子树,接着在访问根节点的右子树,以此类推,一层一层的遍历。把这一层的所有节点都放到一个队列里,选取队列的最后一个节点值,放到定义好的列表中。这个算法名又叫做广度优先搜索简称BFS。
后来看了看别人的题解,发现用深度优先搜索DFS也可以,但是我觉得这个方法不是很好理解,就不做过多的解释了。
了解了解题思路后,下面来看一下代码:
提交评论
您尚未登录 :-( ,登录之后方可评论 登录 or 注册