File tree Expand file tree Collapse file tree 2 files changed +78
-0
lines changed Expand file tree Collapse file tree 2 files changed +78
-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
+ class Solution {
12
+ public List<List<Integer > > levelOrder (TreeNode root ) {
13
+ List<List<Integer > > res = new LinkedList<> ();
14
+ Queue<TreeNode > queue = new LinkedList<> ();
15
+ if (root != null ) {
16
+ queue. offer(root);
17
+ }
18
+ while (! queue. isEmpty()) {
19
+ int size = queue. size();
20
+ List<Integer > level = new LinkedList<> ();
21
+ while (size-- != 0 ) {
22
+ TreeNode node = queue. poll();
23
+ level. add(node. val);
24
+ if (node. left != null ) {
25
+ queue. offer(node. left);
26
+ }
27
+ if (node. right != null ) {
28
+ queue. offer(node. right);
29
+ }
30
+ }
31
+ res. add(level);
32
+ }
33
+ return res;
34
+ }
35
+ }
36
+ ```
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
+ class Solution {
12
+ public List<List<Integer > > zigzagLevelOrder (TreeNode root ) {
13
+ List<List<Integer > > res = new LinkedList<> ();
14
+ Queue<TreeNode > queue = new LinkedList<> ();
15
+ if (root != null ) {
16
+ queue. offer(root);
17
+ }
18
+ boolean leftToRight = true ;
19
+ while (! queue. isEmpty()) {
20
+ int size = queue. size();
21
+ LinkedList<Integer > level = new LinkedList<> ();
22
+ while (size-- != 0 ) {
23
+ TreeNode node = queue. poll();
24
+ if (leftToRight) {
25
+ level. offerLast(node. val);
26
+ } else {
27
+ level. offerFirst(node. val);
28
+ }
29
+ if (node. left != null ) {
30
+ queue. offer(node. left);
31
+ }
32
+ if (node. right != null ) {
33
+ queue. offer(node. right);
34
+ }
35
+ }
36
+ res. add(level);
37
+ leftToRight = ! leftToRight;
38
+ }
39
+ return res;
40
+ }
41
+ }
42
+ ```
You can’t perform that action at this time.
0 commit comments