描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
例如:
给定的二叉树是{3,9,20,#,#,15,7},
该二叉树层序遍历的结果是
[
[3],
[9,20],
[15,7]
]
数据范围:二叉树的节点数满足 1 \le n \le 10^5 \1≤n≤10
5
思路:前面写了,前序遍历,中序遍历,后序遍历,其实方法是一样的,只是在不同的位置将值取出去,题目要求的返回值是二维数组,我们要在每一层遍历的时候添加一个数组,因为操作的是同一个数组,最好返回就是一个二维数组;
function levelOrder( root ) {
// write code here
const res = [];
function cd(root, index){
if(!root) return;
if(index >= res.length) {
res.push([root.val])
} else{
res[index].push(root.val);
}
cd(root.left, index+1);
cd(root.right, index+1);
}
cd(root, 0)
return res;
}