Importjava.util.ArrayList;Importjava.util.LinkedList;Importjava.util.List;Importjava.util.LinkedList;ImportJava.util.Queue;/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode RI Ght * TreeNode (int x) {val = x;} }*/ Public classSolution { PublicList<integer>Rightsideview (TreeNode root) {List<Integer> res=NewArraylist<integer>(); if(root==NULL) returnRes; Queue<TreeNode> current=NewLinkedlist<treenode>(); Current.offer (root); intLast=0; Queue<TreeNode> next=NewLinkedlist<treenode>(); while(!current.isempty () | |!Next.isempty ()) { if(!Current.isempty ()) {TreeNode temp=Current.poll (); Last=Temp.val; if(temp.left!=NULL) Next.offer (temp.left); if(temp.right!=NULL) Next.offer (temp.right); } Else{res.add (last); while(!next.isempty ()) Current.offer (Next.poll ()); }} res.add (last); returnRes; }}
199. Binary Tree Right Side View