题目描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历) 例如: 给定的二叉树是{3,9,20,#,#,15,7}, 该二叉树层序遍历的结果是 [ [3], [9,20], [15,7] ]
示例图如下:
代码如下:
import java.util.*;
public class Solution {
public ArrayList<ArrayList<Integer>> levelOrder (TreeNode root) {
ArrayList<ArrayList<Integer>> arr =newArrayList<>();
Queue<TreeNode> queue=new LinkedList<>();
if(root==null){
return arr;
}
queue.offer(root);
while(!queue.isEmpty()){
ArrayList<Integer> list=new ArrayList<>();
int count=queue.size();
while(count-->0){
TreeNode node= queue.poll();
list.add(node.val);
if(node.left!=null){
queue.offer(node.left);
}
if(node.right!=null){
queue.offer(node.right);
}
}
arr.add(list);
}
return arr;
}
}
|