很简单的BFS层序遍历,基本操作了。借助队列存储当前层的节点的非空子节点。
class Solution { public: vector<int> PrintFromTopToBottom(TreeNode* root) { if (!root) return {}; queue<TreeNode*> q; vector<int> res; q.push(root); while (!q.empty()) { auto now = q.front(); q.pop(); res.push_back(now->val); if (now->left) q.push(now->left); if (now->right) q.push(now->right); } return res; } };