class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>>a; if (root == nullptr) return a; queue<TreeNode*>q; int i=0; q.push(root); vector<int>t={root->val}; a.push_back(t); i++; while(!q.empty()) { int n=q.size(); vector<int>k; while(n) { TreeNode* t=q.front();q.pop(); if(t->left) { q.push(t->left); k.push_back(t->left->val); } if(t->right) { q.push(t->right); k.push_back(t->right->val); } --n; } if(!k.empty()) a.push_back(k); i++; } return a; } };
在前面的广度优先的基础上打出来的。
加油!