File tree Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Expand file tree Collapse file tree 1 file changed +50
-0
lines changed Original file line number Diff line number Diff line change
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
+ ```
You can’t perform that action at this time.
0 commit comments