美文网首页
从上往下打印二叉树

从上往下打印二叉树

作者: 我的天气很好啦 | 来源:发表于2018-10-17 23:01 被阅读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;
}

相关文章

网友评论

      本文标题:从上往下打印二叉树

      本文链接:https://www.haomeiwen.com/subject/nzudzftx.html