Title: |
Binary Tree Right Side View |
Pass Rate: |
27.9% |
Difficulty: |
Medium |
Given A binary tree, imagine yourself standing on the right side of it, return the values of the nodes you can SE E ordered from top to bottom.
For example:
Given The following binary tree,
1 <---/ 2 3 <---\ 5 4 <---
You should return [1, 3, 4]
.
The subject is a hierarchical traversal of an extension, according to the layer through each time each layer of the last element into the list of results can be, the code is as follows:
1 /**2 * Definition for binary tree3 * public class TreeNode {4 * int val;5 * TreeNode left;6 * TreeNode right;7 * TreeNode (int x) {val = x;}8 * }9 */Ten Public classSolution { One PublicArraylist<integer>Rightsideview (TreeNode root) { AArraylist<integer> res=NewArraylist<integer>(); -Linkedlist<treenode> queue=NewLinkedlist<treenode>(); - intCount=1,tmp=0; the if(root==NULL)returnRes; - queue.addlast (root); - while(!Queue.isempty ()) { -Tmp=0; + for(inti=1;i<=count;i++){ -TreeNode tmptree=Queue.removefirst (); + if(i==count) Res.add (tmptree.val); A if(tmptree.left!=NULL){ at Queue.addlast (tmptree.left); -tmp++; - } - if(tmptree.right!=NULL){ - Queue.addlast (tmptree.right); -tmp++; in } - to } +Count=tmp; - } the returnRes; * } $}
Leetcode------Binary Tree Right Side View