从上往下打印二叉树
2018-10-17 本文已影响0人
我的天气很好啦
2018/10/16
🍞环境:牛客的编译环境
🍰语言:JavaScript
☕️难点:没做过这方面的题,没思路
🍊题目:从上往下打印出二叉树的每个节点,同层节点从左至右打印。
🍎思路:用一个数组去存遍历过的节点,在判断一个节点是否有孩子节点时,先把该节点Pop出来,如果有孩子节点,利用前插的方法,把孩子节点加入数组中。循环..直到该数组为空。
🍇代码:
/* function TreeNode(x) {
this.val = x;
this.left = null;
this.right = null;
} */
function PrintFromTopToBottom(root)
{
// write code here
var arr = [],
result = [];
if(root == null)
return result;
arr.push(root);
while(arr.length > 0){
var tmp = arr.pop();
if(tmp.left != null)
arr.unshift(tmp.left);
if(tmp.right != null)
arr.unshift(tmp.right);
result.push(tmp.val);
}
return result;
}