题目
从上到下打印出二叉树的每个节点,同一层的节点按照从左到右的顺序打印。
例如:
给定二叉树: [3,9,20,null,null,15,7]
,
3
/ \
9 20
/ \
15 7
返回:
[3,9,20,15,7]
提示:
节点总数 <= 1000
解题
方法一:BFS
思路
BFS 层序遍历二叉树。
代码
class Solution {
public:
vector<int> levelOrder(TreeNode* root) {
if (!root) return {};
vector<int> ans;
queue<TreeNode*> que;
que.push(root);
while (!que.empty()) {
int sz = que.size();
while (sz--) {
TreeNode* node = que.front();
que.pop();
ans.push_back(node->val);
if (node->left) que.push(node->left);
if (node->right) que.push(node->right);
}
}
return ans;
}
};
评论区