描述
给定一个二叉树,返回该二叉树层序遍历的结果,(从左到右,一层一层地遍历)
例如:
给定的二叉树是{3,9,20,#,#,15,7},
该二叉树层序遍历的结果是
[
[3],
[9,20],
[15,7]
]
示例1
输入:
{1,2}
返回值:
[[1],[2]]
示例2
输入:
{1,2,3,4,#,#,5}
返回值:
[[1],[2,3],[4,5]]
/*
* function TreeNode(x) {
* this.val = x;
* this.left = null;
* this.right = null;
* }
*/
/**
*
* @param root TreeNode类
* @return int整型二维数组
*/
function levelOrder( root ) {
let res = [];
let que = [];
if(!root){
return que;
}
que.push(root);
while(que.length != 0){
let len = que.length;
let arr = [];
for(let i=0; i<len; i++){
let p = que.shift();
arr.push(p.val);
if(p.left){
que.push(p.left);
}
if(p.right){
que.push(p.right);
}
}//for
res.push(arr);
}
return res;
}
module.exports = {
levelOrder : levelOrder
};