```/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
let resArr = []
function PrintFromTopToBottom(root)
{
// write code here
//这种遍历区别于前序中序后序,称作BFS(广度优先遍历),运用队列来存储待打印的节点。
let resArr = []
let queue = []
if(root===null){return resArr}
resArr.push(root.val)
queue.push(root) //将根节点放入队列
while(queue.length>0){ //当队列不为空,按照队列顺序处理放入的节点
//第一次取出的是根节点,如果有左节点,打印,并放入队列,同理右节点,此层结束,下一层循环。
let node = queue.shift()
if(node.left){
resArr.push(node.left.val)
queue.push(node.left)
}
if(node.right){
resArr.push(node.right.val)
queue.push(node.right)
}
}
return resArr
//代码参考书籍、博客和其他题解,如果对你有帮助不妨点个赞~
}
module.exports = {
PrintFromTopToBottom : PrintFromTopToBottom
};