-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathprintTree.java
More file actions
33 lines (32 loc) · 995 Bytes
/
printTree.java
File metadata and controls
33 lines (32 loc) · 995 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
* 队列LinkedList完成层序遍历,用end记录每层结点数目
*/
public class Solution {
ArrayList<ArrayList<Integer> > Print(TreeNode pRoot) {
ArrayList<ArrayList<Integer>> result = new ArrayList<ArrayList<Integer>>();
if(pRoot==null)
return result;
ListedList<TreeNode> layer = new LinkedList<TreeNode>();
ArrayList<Integer> layerList = new ArrayList<Integer>();
layer.add(pRoot);
int start =0 ,end=1;
while(!layer.isEmpty())
{
TreeNode p =layer.remove();
layerList.add(p.val);
start++;
if(p.left!=null)
layer.add(p.left);
if(p.right!=null)
layer.add(p.right);
if(start==end)
{
end = layer.size();
start=0;
result.add(layerList);
layerList = new ArrayList<Integer>();
}
}
return result;
}
}