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;
}
};
在前面的广度优先的基础上打出来的。
加油!