102. 二叉树的层序遍历
2023-09-27 14:26:25 时间
给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。
示例 1:
输入:root = [3,9,20,null,null,15,7]
输出:[[3],[9,20],[15,7]]
示例 2:
输入:root = [1]
输出:[[1]]
示例 3:
输入:root = []
输出:[]
提示:
树中节点数目在范围 [0, 2000] 内
-1000 <= Node.val <= 1000
/**
* Definition for a binary tree node.
* struct TreeNode {
* int val;
* TreeNode *left;
* TreeNode *right;
* TreeNode() : val(0), left(nullptr), right(nullptr) {}
* TreeNode(int x) : val(x), left(nullptr), right(nullptr) {}
* TreeNode(int x, TreeNode *left, TreeNode *right) : val(x), left(left), right(right) {}
* };
*/
class Solution {
public:
vector<vector<int>> levelOrder(TreeNode* root) {
vector<vector<int>> ret;
if (root == nullptr) return ret;
queue<TreeNode*> q;
q.push(root);
while (!q.empty()) {
int cursize = q.size();
ret.push_back(vector<int>());
for (int i = 1; i <= cursize; i++) {
TreeNode* node = q.front();
q.pop();
ret.back().push_back(node->val);
if (node->left) q.push(node->left);
if (node->right) q.push(node->right);
}
}
return ret;
}
};
相关文章
- 【LeetCode】二叉搜索树中第K小的元素 [M](二叉树遍历)
- UVa 11234 Expressions (二叉树重建&由叶往根的层次遍历)
- C语言实现 二叉树的层序遍历
- 24由遍历序列构造二叉树
- C语言:二叉树的按层次遍历
- 从上往下打印二叉树(层序遍历)
- 二叉树的几种递归和非递归式遍历
- JAVA下实现二叉树的先序、中序、后序、层序遍历(递归和循环)
- LeetCode_二叉树_简单_144.二叉树的前序遍历
- LeetCode_二叉树_BFS_中等_107.二叉树的层序遍历 II
- LeetCode_二叉树_中等_105.从前序与中序遍历序列构造二叉树
- 1364:二叉树遍历(flist)
- 前、中、后序遍历随意两种是否能确定一个二叉树?理由? && 栈和队列的特点和区别
- 二叉树增删改查 && 程序实现
- 144. 二叉树的前序遍历
- 8606 二叉树遍历的建设和运营
- 3384. 二叉树遍历
- 高级数据结构 | 二叉树层次遍历 —从左至右的顺序层次遍历 & 左右交替的“之“字型遍历 ...
- [LeetCode] 107. Binary Tree Level Order Traversal II 二叉树层序遍历 II
- [LeetCode] 103. Binary Tree Zigzag Level Order Traversal 二叉树的之字形层序遍历
- [LeetCode] 94. Binary Tree Inorder Traversal 二叉树的中序遍历
- leetcode 104 二叉树的最大深度
- 数据结构:二叉树的遍历——层序遍历、锯齿形遍历