题目描述
从上往下打印出二叉树的每个节点,同层节点从左至右打印。
解题思路
二叉树的层次遍历,水题。。。有一个坑:如果root是空的,直接返回空vector,一定要注意边界条件!!!!!!!!!
AC代码
class Solution {
public:
vector<int> PrintFromTopToBottom(TreeNode* root) {
vector<int>vec;
if(root == nullptr) {
return vec;
}
TreeNode* p = root;
queue<TreeNode*>que;
que.push(p);
while(!que.empty()) {
TreeNode* fnt = que.front();
vec.push_back(fnt->val);
que.pop();
if(fnt->left != nullptr) {
que.push(fnt->left);
}
if(fnt->right != nullptr) {
que.push(fnt->right);
}
}
return vec;
}
};