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]]
/** Definition for binary tree * struct TreeNode {* int val; * TreeNode *left; * TreeNode *right; * TreeNode (int x): Val (x), left (null), right (NULL) {} *}; */classSolution { Public: Vector<vector<int> > Levelorder (TreeNode *root) {Vector<vector<int> >VEC; if(Root = NULL)returnVEC; Queue<treenode *>CRT, wait; Crt.push (root); while(Crt.size () >0){ intnum =crt.size (); Vector<int>arr; while(num--) {TreeNode*tmp =Crt.front (); if(tmp->left) Wait.push (tmp->Left ); if(tmp->right) Wait.push (tmp->Right ); Arr.push_back (TMP-val); Crt.pop (); } vec.push_back (arr); intn =wait.size (); while(n--) {TreeNode*tmp =Wait.front (); Wait.pop (); Crt.push (TMP); } } returnVEC; }};
Binary Tree level Order traversal