Given a binary tree, return the level order traversal of its nodes ' values. (ie, from left-to-right, level by level).
For example:
Given binary Tree {3,9,20,#,#,15,7} ,
3 / 9 / 7
Return its level order traversal as:
[ 3], [9,20], [15,7]]
Link Address: https://leetcode.com/problems/binary-tree-level-order-traversal/
/*** Definition for a binary tree node. * public class TreeNode {* int val; * TreeNode left; * TreeNode RI Ght * TreeNode (int x) {val = x;} }*/ Public classSolution { PublicList<list<integer>>Levelorder (TreeNode root) {List<List<Integer>> List =NewLinkedlist<list<integer>>(); if(Root = =NULL) returnlist; //Create a queue to hold all nodesqueue<treenode> CurrentLevel =NewLinkedlist<treenode>(); Currentlevel.add (root); while(!Currentlevel.isempty ()) { //Create a list record all node values for the current layerList<integer> currentlist =NewLinkedlist<integer>(); intSize =currentlevel.size (); for(inti = 0; i < size; i++) { //poll () gets and removes the head node from this listTreeNode CurrentNode =Currentlevel.poll (); Currentlist.add (Currentnode.val); //Record the node value of each layer into list<integer> if(Currentnode.left! =NULL) Currentlevel.add (currentnode.left); if(Currentnode.right! =NULL) Currentlevel.add (currentnode.right); //Add the current list<integer> to the list<list<integer>>} list.add (currentlist); } returnlist; }}
Leetcode-102 (Java) Binary Tree level Order traversal