LeetCode102 Binary Tree Level Order Traversal Java题解
来源:互联网 发布:java视频教程 编辑:程序博客网 时间:2024/05/22 14: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,#,#,15,7}
,
3 / \ 9 20 / \ 15 7
return its level order traversal as:
[ [3], [9,20], [15,7]]
解答:
层序遍历,把一层的节点存在一个队列中,然后依次遍历队列的每一个节点,如果它的子节点不为空继续加入队列中 当队列为空时遍历结束
代码:
public static List<List<Integer>> levelOrder(TreeNode root) { List<List<Integer>> result=new ArrayList<List<Integer>>();//返回的最终结果 Queue<TreeNode> treeNodes2=new LinkedList<>();//用来存放每一层的节点 //处理第一个节点(root) if(root==null) return result; else { List<Integer> temp=new ArrayList<>();//存放暂时的结果 temp.add(root.val); treeNodes2.offer(root); result.add(temp); } while(!treeNodes2.isEmpty()) { int i=treeNodes2.size(); List<Integer> tempReslut=new ArrayList<>();//存放暂时的结果 while(i>0)//遍历这一层的所有节点 { TreeNode tNode=treeNodes2.poll(); if(tNode.left!=null) { tempReslut.add(tNode.left.val); treeNodes2.offer(tNode.left); } if(tNode.right!=null) { tempReslut.add(tNode.right.val); treeNodes2.offer(tNode.right); } i--; } if(!tempReslut.isEmpty()) result.add(tempReslut); } return result; }
0 0
- LeetCode102 Binary Tree Level Order Traversal Java题解
- LeetCode102 Binary Tree Level Order Traversal Java
- LeetCode102-Binary-Tree-Level-Order-Traversal
- LeetCode102—Binary Tree Level Order Traversal
- leetcode102:Binary Tree Level Order Traversal
- LeetCode102: Binary Tree Level Order Traversal
- leetcode102. Binary Tree Level Order Traversal
- LeetCode102 Binary Tree Level Order Traversal
- leetcode102. Binary Tree Level Order Traversal & 103. Zigzag Level
- LeetCode102——Binary Tree Level Order Traversal
- Leetcode102——Binary Tree Level Order Traversal
- 算法作业HW18:LeetCode102 Binary Tree Level Order Traversal
- [题解][LeetCode][Binary Tree Level Order Traversal]
- LeetCode题解:Binary Tree Level Order Traversal
- Binary Tree Level Order Traversal C++题解
- LeetCode题解:Binary Tree Level Order Traversal
- [Leetcode] Binary Tree Level Order Traversal (Java)
- Binary Tree Zigzag Level Order Traversal Java
- NYOJ 266 字符串逆序输出
- Java集合系列之ArrayList源码分析
- HTML规范 - 整体结构
- B-Tree 索引和 Hash 索引的对比
- Nth to Last Node in List
- LeetCode102 Binary Tree Level Order Traversal Java题解
- SDB:Zypper 用法
- visual studio中,一个解决方案中含有多个项目,如何才能执行我想运行的项目?
- ./show_file: error while loading shared libraries: libts-0.0.so.0: cannot open shared object file: N
- Python的函数
- msp430学习笔记之时钟
- uploadify大文件上传IO Error问题解决方案
- 1008. Elevator (20)
- aurix中AD采样