199. Binary Tree Right Side View /** * DeFinition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode(int x) { val = x; } * } */ class Solution { public List<Integer> rightSideView(TreeNode root) { Queue<TreeNode> queue = new LinkedList<>(); List<Integer> result = new ArrayList<>(); if(root == null) return result; queue.offer(root); while (!queue.isEmpty()){ int size = queue.size(); for (int i = 0; i < size; i++){ TreeNode cur = queue.poll(); if(i == 0){ result.add(cur.val); } if(cur.right != null) queue.offer(cur.right); if(cur.left != null) queue.offer(cur.left); } } return result; } }