劍指Offer之從上往下列印二叉樹
阿新 • • 發佈:2018-12-13
題目描述
從上往下打印出二叉樹的每個節點,同層節點從左至右列印。
解題思路
二叉樹的層次遍歷,水題。。。有一個坑:如果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;
}
};