LeetCode107.二叉树的层次遍历II

题目

 1 class Solution {
 2 public:
 3     vector<vector<int>> levelOrderBottom(TreeNode* root) {
 4         auto levelOrder = vector<vector<int>> ();
 5         if(root == NULL ) 
 6             return levelOrder;
 7         queue<TreeNode*>q;
 8         q.push(root);
 9         while(!q.empty()){
10             int num = q.size();
11             auto level = vector<int> ();
12             while(num > 0){
13                 TreeNode* p = q.front();q.pop();level.push_back(p->val);
14                 if(p->left != NULL) q.push(p->left);
15                 if(p->right != NULL) q.push(p->right);
16                 num--;   
17             }
18             levelOrder.push_back(level);
19         }
20         reverse(levelOrder.begin(),levelOrder.end());
21         return levelOrder;
22     }
23 };

学习vector用法

原文地址:https://www.cnblogs.com/fresh-coder/p/14223190.html