给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7]
,
3
/ \
9 20
/ \
15 7
返回其层次遍历结果:
[
[3],
[9,20],
[15,7]
]
通过此题掌握二叉树的知识和JAVA泛型,队列的运用
题目分析:
此题是一道知识综合题;从返回结果的格式可以看出依然是List中存储List,所以要运用JAVA泛型的知识,可以参考这篇博客JAVA泛型;
题目要求是层次遍历,从顶向下,从左至右,所以结果我们可以运用队列存储,利用队列先进先出的特性。
代码实现:
public List<List<Integer>> levelOrder(TreeNode root) { //JAVA泛型,List里面存储List,就可以有[[3], [9, 20], [15, 7]] List<List<Integer>> list = new ArrayList<>