102. 二叉树的层次遍历 leetcode
2018-10-17 22:08
344 查看
给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树:
[3,9,20,null,null,15,7],
3 / \ 9 20 / \ 15 7
返回其层次遍历结果:
[ [3], [9,20], [15,7] ]
这道题需要注意的地方是它的返回值类型是vector<vector<int>>的,也就是容器里面的项全都是容器,而且是每一层作为一个容器来返回的
[code]/** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: vector<vector<int>> levelOrder(TreeNode* root) { //先把根节点入队,然后出队,在出队的过程中把出队元素的左右子树入队 //直到遍历完所有的结点为止 vector<vector<int>> rec; //记录返回的结果 if(root == NULL){ return rec; } queue<TreeNode*> que; //队列 que.push(root); while(!que.empty()){ //只要队列不空,循环就继续进行 int size = que.size(); //记录这一层的结点数量 vector<int> rec_temp; while(size--){ //size不等于0的时候继续循环 TreeNode *t = que.front(); //出队 rec_temp.push_back(que.front()->val); que.pop(); if(t->left != NULL) que.push(t->left); if(t->right != NULL) que.push(t->right); } rec.push_back(rec_temp); } return rec; } };
阅读更多
相关文章推荐
- [leetcode-二叉树层次遍历并统计每层节点数]--102. Binary Tree Level Order Traversal
- 102.LeetCode Binary Tree Level Order Traversal(easy)[二叉树层次遍历 广度搜索 队列]
- [Leetcode] 102. 二叉树的层次遍历 java
- LeetCode: 102_Binary Tree Level Order Traversal | 二叉树自顶向下的层次遍历 | Easy
- LeetCode-102.二叉树的层次遍历(相关话题:广度优先/栈)
- LeetCode 102 Binary Tree Level Order Traversal(二叉树的层次遍历)
- leetcode102 Binary Tree Level Order Traversal(二叉树的层次遍历)
- 103.leetcode Binary Tree Zigzag Level Order Traversal(medium)[二叉树层次遍历 栈]
- LeetCode103 BinaryTreeZigzagLevelOrderTraversal(二叉树Z形层次遍历) Java题解
- Leetcode 107. Binary Tree Level Order Traversal II 二叉树层次遍历2 解题报告
- LeetCode-Binary Tree Zigzag Level Order Traversal-二叉树锯齿层次遍历-二叉树DFS层次遍历
- 二叉树 层次遍历 (queue)遍历的变式题(leetcode)
- leet102. 二叉树的层次遍历
- 102. Binary Tree Level Order Traversal (二叉树层次遍历)
- [leetcode-二叉树层次遍历并统计每层节点数]--107. Binary Tree Level Order Traversal II
- [Leetcode] 107. 二叉树的层次遍历 II java
- [leetcode-二叉树层次遍历并统计每层节点数]--103. Binary Tree Zigzag Level Order Traversal
- leetcode解题之102&107. Binary Tree Level Order Traversal java版(二叉树层次遍历)
- leetCode 107. Binary Tree Level Order Traversal II 二叉树层次遍历反转
- [LeetCode]二叉树层次遍历讲解与实例