剑指offer21-从上往下访问二叉树

从上往下打印出二叉树的每个节点,同层节点从左至右打印。
思路:队列保存节点,每弹出一个节点,将子女入队列。
    vector<int> PrintFromTopToBottom(TreeNode* root) {
        //if(root==NULL) return;
        vector<int >res;
        queue<TreeNode*> Q;
        if(root!=NULL)Q.push(root);
        //TreeNode* p;
        while(!Q.empty())
        {
            res.push_back(Q.front()->val);
            if(Q.front()->left!=NULL) Q.push(Q.front()->left);
            if(Q.front()->right!=NULL) Q.push(Q.front()->right);
            Q.pop();
        }
        return res;
    }
原文地址:https://www.cnblogs.com/trouble-easy/p/12966524.html