LintCode 二叉树的层次遍历
程序员文章站
2022-07-15 23:27:48
...
二叉树的层次遍历,一层层从上往下遍历;前中后序遍历是深度遍历,使用栈,按倒序;层次遍历是广度遍历,使用队列,按顺序;
vector<vector<int>> levelOrder(TreeNode * root) {
// write your code here
queue<TreeNode *> queue;
vector<vector<int>> vec;
if(! root)
return vec;
queue.push(root);
while( ! queue.empty())
{
vector<int> vec_temp;
int num=queue.size();
for(int i=0;i<num;i++)
{
TreeNode *front=queue.front();
queue.pop();
vec_temp.push_back(front->val);
if(front->left)
queue.push(front->left);
if(front->right)
queue.push(front->right);
}
vec.push_back(vec_temp);
}
return vec;
}
vector vec_temp 这是一维的矢量,vector
上一篇: 643.子数组最大平均数I
下一篇: java——二维数组行列转换