方法二:
使用队列的广度优先
class guangdu{
public List<List<Integer>> levelOrder(TreeNode root){
List<List<Integer>> list = new ArrayList<>();
if(root == null) return list;
//队列的性质:先进先出,从头取,从尾添加
Queue<TreeNode> queue = new LinkedList<>();
queue.add(root);
while(queue.size() > 0) {
int n = queue.size();
List<Integer> l = new ArrayList<Integer>();
for(int i = 0; i < n; i++) {
TreeNode qt = queue.remove();
l.add(qt.val);
if(qt.left != null) queue.add(qt.left);
if(qt.right != null) queue.add(qt.right);
}
list.add(l);
}
return list;
}
}