可以网站可以做免费的文案广告语,办公室装修设计多少费用,前端开发面试会被问到的一些问题,网络设备给定一棵二叉树#xff0c;想象自己站在它的右侧#xff0c;按照从顶部到底部的顺序#xff0c;返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:1 ---/ \
2 3 ---\ \5 4 ---解题思…给定一棵二叉树想象自己站在它的右侧按照从顶部到底部的顺序返回从右侧所能看到的节点值。示例:输入: [1,2,3,null,5,null,4]
输出: [1, 3, 4]
解释:1 ---/ \
2 3 ---\ \5 4 ---
解题思路
按照层序遍历的模板将每层的最后一个元素加入结果
代码
/*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeNode left;* TreeNode right;* TreeNode(int x) { val x; }* }*/
class Solution {ArrayListInteger resnew ArrayList();public ListInteger rightSideView(TreeNode root) {if(rootnull) return res;QueueTreeNode queuenew LinkedList();queue.add(root);while (!queue.isEmpty()){int sizequeue.size();int last0;for (int i0;isize;i){TreeNode tempqueue.poll();lasttemp.val;if(temp.left!null) queue.offer(temp.left);if(temp.right!null) queue.offer(temp.right);}res.add(last);}return res;}
}