思路
右视图 本质是 从上到下输出 层序遍历中的每一层最右侧的那个节点。
所以在 LeetCode 102. 二叉树的层序遍历的方法一的基础上,只需要每次将本层最后一个节点放入res , 而不是整行放入 即可。
代码只需要改两行。 #code-switcher
给定一棵二叉树的层序遍历序列。
想象自己站在二叉树的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
其中,层序遍历序列中的整数表示节点值,null 表示空节点。
如果 n = 0,表示二叉树为空。
第一行输入一个整数 n,表示二叉树层序遍历序列的长度。
第二行输入 n 个元素,表示二叉树的层序遍历结果。
相邻两个元素之间用一个空格隔开。
其中:
null 表示空节点如果 n = 0,表示二叉树为空,此时没有第二行输入。
输出二叉树的右视图结果。
按照从上到下的顺序输出从右侧能看到的节点值。
相邻两个整数之间用一个空格隔开。
如果二叉树为空,则输出空行。
7
1 2 3 null 5 null 4
1 3 4
该输入表示如下二叉树:
1
/ \
2 3
\ \
5 4
从右侧观察该二叉树,依次可以看到节点 1、节点 3 和节点 4。
8
1 2 3 4 null null null 5
1 3 4 5
该输入表示如下二叉树:
1
/ \
2 3
/
4
/
5
从右侧观察该二叉树,依次可以看到节点 1、节点 3、节点 4 和节点 5。
3
1 null 3
1 3
该输入表示如下二叉树:
1
\
3
从右侧观察该二叉树,依次可以看到节点 1 和节点 3。
0
n = 0,表示二叉树为空,因此输出空行。
二叉树的节点个数范围是 [0, 100]。
节点值满足:
-100 <= Node.val <= 100