class Solution {
public:
vector> levelOrder(TreeNode* root) {
vector> res;
if(root==NULL)
return res;
queue nodes;
nodes.push(root);
while(!nodes.empty()){
int size = nodes.size();
vector layer;
for(int i=0;ival);
if(tmp->left!=NULL)
nodes.push(tmp->left);
if(tmp->right!=NULL)
nodes.push(tmp->right);
}
res.push_back(layer);
}
return res;
}
};
重要的地方在于使用队列来遍历,并且每次遇到子节点不为空时,需要放到队列里面。
while管从上往下。for管从左到右。



