Skip to content

Commit e509fa3

Browse files
committed
ok
1 parent 8535fa4 commit e509fa3

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

src/com/leetcode/Main107.java

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.leetcode;
2+
3+
import java.util.ArrayList;
4+
import java.util.LinkedList;
5+
import java.util.List;
6+
import java.util.Queue;
7+
8+
/**
9+
* 107. 二叉树的层次遍历 II
10+
* 给定一个二叉树,返回其节点值自底向上的层次遍历。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)
11+
*/
12+
public class Main107 {
13+
public class TreeNode {
14+
int val;
15+
TreeNode left;
16+
TreeNode right;
17+
TreeNode(int x) { val = x; }
18+
}
19+
public List<List<Integer>> levelOrderBottom(TreeNode root) {
20+
List<List<Integer>> res = new LinkedList<>();
21+
if(root == null)
22+
return res;
23+
Queue<TreeNode> queue = new LinkedList<>();
24+
queue.offer(root);
25+
while(!queue.isEmpty()) {
26+
int size = queue.size();
27+
List<Integer> tmp = new ArrayList<>();
28+
for(int i = 0; i < size; i++) {
29+
TreeNode node = queue.poll();
30+
tmp.add(node.val);
31+
if(node.left != null)
32+
queue.offer(node.left);
33+
if(node.right != null)
34+
queue.offer(node.right);
35+
}
36+
res.add(0, tmp);
37+
}
38+
return res;
39+
}
40+
}

0 commit comments

Comments
 (0)