public List<List<Integer>> levelOrder(TreeNode root) {
Queue<TreeNode> queue = new LinkedList<>();
List<List<Integer>> res = new ArrayList<>();
if (root != null) {
queue.add(root);
}
while (!queue.isEmpty()){
List<Integer> temp = new ArrayList<>();
// 这里实现分层就很秀
for (int i = queue.size(); i > 0; i--){
TreeNode t = queue.poll();
temp.add(t.val);
if (t.left != null){
queue.add(t.left);
}
if (t.right != null){
queue.add(t.right);
}
}
res.add(temp);
}
return res;
}