- 从上到下打印出二叉树的每个节点
- 同一层的节点按照从左到右的顺序打印
- 例如,输入下图中的二叉树,则依次打印出
8 6 10 5 7 9 11
题目解读
代码
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int> pp;
if(root == NULL){
return pp;
}
queue<TreeNode *> que;
que.push(root);
while(que.size()){
TreeNode *temp = que.front();
que.pop();
pp.push_back(temp -> val);
if(temp -> left){
que.push(temp -> left);
}
if(temp -> right){
que.push(temp -> right);
}
}
return pp;
}
};
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int> result;
deque<TreeNode*> que;
if(root == NULL){
return result;
}
que.push_back(root);
while(!que.empty()){
TreeNode* temp = que.front();
result.push_back(temp->val);
que.pop_front();
if(temp->left != NULL){
que.push_back(temp->left);
}
if(temp->right != NULL){
que.push_back(temp->right);
}
}
return result;
}
};
总结展望