剑指Offer之从上往下打印二叉树 发表于 2019-04-09 | 分类于 剑指Offer 字数统计 154 字 | 阅读时长 1 分钟 题目描述: 从上往下打印出二叉树的每个节点,同层节点从左至右打印。 解题思路: 二叉树的层次遍历么,借助一个队列。 时间复杂度:$O(n)$, 空间复杂度:$O(n)$. 1234567891011121314151617181920212223242526272829/*struct TreeNode { int val; struct TreeNode *left; struct TreeNode *right; TreeNode(int x) : val(x), left(NULL), right(NULL) { }};*/class Solution {public: vector<int> PrintFromTopToBottom(TreeNode* root) { vector<int> vec; queue<TreeNode*> q; if(!root) return vec; q.push(root); while(!q.empty()) { vec.push_back(q.front()->val); if(q.front()->left) q.push(q.front()->left); if(q.front()->right) q.push(q.front()->right); q.pop(); } return vec; }};