题目描述:
从上到下按层打印二叉树,同一层的节点按从左到右的顺序打印,每一层打印到一行。
示例:
思路:
题目考察的是数的按层遍历。可以创建一个数组的链表。
构造一个方法,将树按照不同的层级放到链表中
代码:
class Solution {
List<List<Integer>> list = new ArrayList<>();
public List<List<Integer>> levelOrder(TreeNode root) {
if (root==null){
return new ArrayList();
}
ceng(root,0);
return list;
}
public void ceng(TreeNode root,int k){
if (root!=null){
if (list.size()<=k){
list.add(new ArrayList<>());
}
list.get(k).add(root.val);
ceng(root.left,k+1);
ceng(root.right,k+1);
}
}
}