题目:
给定一棵二叉树,想象自己站在它的右侧,按照从顶部到底部的顺序,返回从右侧所能看到的节点值。
示例:
解题思路:
解法1:层序遍历。将用一个queue去遍历每一层的节点,记住每一层的size,取最后一个值保存到arraylist即可。
解法2:深度遍历,以根-右子树-左子树的方式遍历(与先序遍历相反)。同时记录深度,用list保存某一深度的第一个节点。
参考:
甜姐力扣199题解
Java代码
//解法1
class Solution {
public List<Integer> rightSideView(TreeNode root) {
List<Integer> res = new ArrayList<>();
Queue<TreeNode> queue =