从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:层序遍历二叉树。
用队列来保存二叉树的节点,先将树的根节点插入队列
当队列不为空时一直执行以下操作:
从队列前端取出节点,将节点的值存入vector
若左子树不为空,将左子树插入队列尾
若右子树不为空,将右子树插入队列尾
vector<int> levelOrder(TreeNode* root) {
if(!root)return {};
vector<int>res;
queue<TreeNode*>que;
que.push(root);
while(!que.empty()){
root=que.front();
que.pop();
res.push_back(root->val);
if(root->left)que.push(root->left);
if(root->right)que.push(root->right);
}
return res;
}