很简单的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;
}
};

京公网安备 11010502036488号