Skip to content

Commit e1ebc13

Browse files
authored
Merge pull request gzc426#329 from Jerring/master
Create TheRocket.md
2 parents c3f3bfc + 117681f commit e1ebc13

File tree

2 files changed

+78
-0
lines changed

2 files changed

+78
-0
lines changed

2018.12.05-leetcode102/TheRocket.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
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+
```

2018.12.06-leetcode103/TheRocket.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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+
```

0 commit comments

Comments
 (0)