题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
分析:
层次遍历二叉树,可以用队列辅助。
代码:
vector<int> PrintFromTopToBottom(TreeNode *root) {
vector<int> result;
if(!root) return result;
vector<TreeNode *> queue;
queue.push_back(root);
TreeNode *currentNode = nullptr;
while(!queue.empty()){
currentNode = queue.front();
queue.erase(queue.begin());
result.push_back(currentNode->val);
if(currentNode->left)
queue.push_back(currentNode->left);
if(currentNode->right)
queue.push_back(currentNode->right);
}
return result;
}