Skip to content

Commit 83b3079

Browse files
authored
Merge pull request gzc426#22 from beddingearly/beddingearly-patch-13
Create Tony the Cyclist.md
2 parents b00e7f7 + 1c2b878 commit 83b3079

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
```java
2+
/**
3+
* Definition for a binary tree node.
4+
* public class TreeNode {
5+
* int val;
6+
* TreeNode left;
7+
* TreeNode right;
8+
* TreeNode(int x) { val = x; }
9+
* }
10+
*/
11+
import java.util.*;
12+
class Solution {
13+
public List<List<Integer>> levelOrder(TreeNode root) {
14+
if (root == null){
15+
return new ArrayList<>();
16+
}
17+
List<List<Integer>> list = new ArrayList<>();
18+
List<Integer> tmp = new ArrayList<>();
19+
ArrayDeque<TreeNode> d = new ArrayDeque<>();
20+
tmp.add(root.val);
21+
list.add(new ArrayList<>(tmp));
22+
tmp.clear();
23+
if (root.left != null){
24+
d.addFirst(root.left);
25+
}
26+
if (root.right != null){
27+
d.addFirst(root.right);
28+
}
29+
int level = d.size();
30+
while (!d.isEmpty()){
31+
TreeNode node = d.pollLast();
32+
tmp.add(node.val);
33+
level--;
34+
if (node.left != null){
35+
d.addFirst(node.left);
36+
}
37+
if (node.right != null){
38+
d.addFirst(node.right);
39+
}
40+
if (level == 0){
41+
if (!tmp.isEmpty())
42+
list.add(new ArrayList<>(tmp));
43+
level = d.size();
44+
tmp.clear();
45+
}
46+
}
47+
return list;
48+
}
49+
}
50+
```

0 commit comments

Comments
 (0)