1. 程式人生 > >劍指Offer之從上往下列印二叉樹

劍指Offer之從上往下列印二叉樹

題目描述

從上往下打印出二叉樹的每個節點,同層節點從左至右列印。

解題思路

二叉樹的層次遍歷,水題。。。有一個坑:如果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; } };