class Solution {
public:
vector<int> levelOrder(TreeNode* root) {
vector<int> ans;
// 边界条件
if (root == NULL)
{
return ans;
}
// bfs的队列
queue<TreeNode*> q;
q.push(root);
q.push(NULL);
while (1)
{
TreeNode* p = q.front();
q.pop();
// 遍历完一层了
if (p == NULL)
{
if (q.empty())
{
return ans;
}
else {
q.push(NULL);
continue;
}
}
ans.push_back(p->val);
if (p->left != NULL)
{
q.push(p->left);
}
if (p->right != NULL)
{
q.push(p->right);
}
}
}
};
LeetCode 剑指 Offer 32 - I. 从上到下打印二叉树
最新推荐文章于 2022-07-17 22:47:14 发布