方法:层序遍历
利用队列,将节点按层从左到右入队,之后打印即可;
vector<int> PrintFromTopToBottom(TreeNode* root) { if(!root) return vector<int>(); vector<int> ret; queue<TreeNode*> q; q.push(root); while(!q.empty()){ TreeNode* node = q.front(); q.pop(); ret.push_back(node->val); if(node->left) { q.push(node->left); } if(node->right){ q.push(node->right); } } return ret; }