class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int> > res;
if(root == nullptr) return res;
queue<TreeNode*> q0;
queue<TreeNode*> q1;
q0.push(root);
while(!q0.empty()){
vector<int> tmp;
while(!q0.empty()){//出队
TreeNode *p = q0.front();
q0.pop();
tmp.push_back(p->val);
if(p->left) q1.push(p->left);
if(p->right) q1.push(p->right);
}
res.push_back(tmp);
swap(q0, q1);
}
return res;
}
};LeetCode之Binary Tree Level Order Traversal
最新推荐文章于 2025-09-18 03:57:00 发布
本文介绍了一种使用双队列实现的二叉树层次遍历算法,通过两个队列交替进行节点的入队和出队操作,可以有效地按层次顺序获取二叉树中所有节点的值。
1552

被折叠的 条评论
为什么被折叠?



