leetcode 102. Binary Tree Level Order Traversal BFS广度优先遍历
来源:互联网 发布:java log4j2.xml 编辑:程序博客网 时间:2024/06/03 13:21
Given a binary tree, return the level order traversal of its nodes’ values. (ie, from left to right, level by level).
For example:
Given binary tree [3,9,20,null,null,15,7],
3
/ \
9 20
/ \
15 7
return its level order traversal as:
[
[3],
[9,20],
[15,7]
]
题意很简单,就是一个BFS广度优先遍历的求解,注意把握好每一层的size。
代码如下:
import java.util.ArrayList;import java.util.LinkedList;import java.util.List;import java.util.Queue;/*class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; }}*/public class Solution { public List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> res=new ArrayList<>(); if(root==null) return res; Queue<TreeNode> queue=new LinkedList<>(); queue.add(root); while(queue.isEmpty()==false) { int size=queue.size(); List<Integer> one=new ArrayList<>(); for(int i=0;i<size;i++) { TreeNode t=queue.poll(); one.add(t.val); if(t.left!=null) queue.add(t.left); if(t.right!=null) queue.add(t.right); } res.add(one); } return res; }}
下面是C++的做法,就是一个简单的BFS广度优先遍历的做法
代码如下:
#include<iostream>#include <vector>#include <queue>using namespace std;/*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>> res; if (root == NULL) return res; queue<TreeNode*> que; que.push(root); while (que.empty() == false) { int size = que.size(); vector<int> one; for (int i = 0; i < size; i++) { TreeNode* top = que.front(); que.pop(); one.push_back(top->val); if(top->left!=NULL) que.push(top->left); if (top->right != NULL) que.push(top->right); } res.push_back(one); } return res; }};
阅读全文
0 0
- leetcode 102. Binary Tree Level Order Traversal BFS广度优先遍历
- leetcode 107. Binary Tree Level Order Traversal II BFS广度优先遍历
- leetcode 103. Binary Tree Zigzag Level Order Traversal BFS广度优先遍历
- LeetCode 102. Binary Tree Level Order Traversal 树的广度优先遍历 辅助数据结构队列
- 102.LeetCode Binary Tree Level Order Traversal(easy)[二叉树层次遍历 广度搜索 队列]
- LeetCode 102. Binary Tree Level Order Traversal(bfs)
- leetcode 103. Binary Tree Zigzag Level Order Traversal-深度遍历|广度遍历|递归|非递归
- [BFS]102. Binary Tree Level Order Traversal
- 102. Binary Tree Level Order Traversal(BFS)
- 107.LeetCode Binary Tree Level Order Traversal II(easy)[二叉树层次遍历 广度搜索 队列]
- LeetCode :: Binary Tree Zigzag Level Order Traversal [tree, BFS]
- Binary Tree Zigzag Level Order Traversal,bfs,层序遍历
- LeetCode 102. Binary Tree Level Order Traversal
- [LeetCode]102.Binary Tree Level Order Traversal
- [Leetcode] 102. Binary Tree Level Order Traversal
- LeetCode --- 102. Binary Tree Level Order Traversal
- [leetcode] 102.Binary Tree Level Order Traversal
- 【leetcode】102. Binary Tree Level Order Traversal
- HTML DOM(document object model文档对象模型)
- 查看laravel使用的版本
- ios App Store 审核指南官方中文版
- hmset命令报错 value sent to redis cannot be null
- 转型技术管理后,应该避踩哪些坑?
- leetcode 102. Binary Tree Level Order Traversal BFS广度优先遍历
- java实现服务器下载到本地
- 理解为何是用iPolyGon赋值给polygon,而不是ipPointCol
- 题目91:阶乘之和
- asp.net 中 foreach 语法
- Maven集成MybatisGenarator逆向工程
- 17. Letter Combinations of a Phone Number 组合、回溯
- 【CodeForces】612C---Replace To Make Regular Bracket Sequence(栈)
- maven工程引入jstl,且出现uri异常的解决