root
?,返回其节点值的?层序遍历?。 (即逐层地,从左到右访问所有节点)。vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> v;
if(root == nullptr) return v;
queue<TreeNode*> q;
q.push(root);
while(!q.empty())
{
int size = q.size();
vector<int> vec;
while(size-- > 0)
{
TreeNode* node = q.front();
q.pop();
vec.push_back(node->val);
if(node->left) q.push(node->left);
if(node->right) q.push(node->right);
}
v.push_back(vec);
}
return v;
}
很早之前的一次面试,要当场手撸层序遍历,没有搞出来。。。尴尬,一定要一雪前耻!!!