標籤:des style blog color io for ar div
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 20 / 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]
思路:對輸入二叉樹進行廣度優先遍曆即可。
1 class Solution { 2 public: 3 vector<vector<int>> levelOrder( TreeNode *root ) { 4 vector<vector<int>> levels; 5 if( !root ) { return levels; } 6 vector<TreeNode*> nodes( 1, root ); 7 while( !nodes.empty() ) { 8 vector<TreeNode*> new_nodes; 9 vector<int> values;10 for( auto iter = nodes.begin(); iter != nodes.end(); ++iter ) {11 values.push_back( (*iter)->val );12 if( (*iter)->left ) { new_nodes.push_back( (*iter)->left ); }13 if( (*iter)->right ) { new_nodes.push_back( (*iter)->right ); }14 }15 levels.push_back( values );16 nodes = new_nodes;17 }18 return levels;19 }20 };