从上往下打印二叉树

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;
}
上一篇下一篇

猜你喜欢

热点阅读