从上往下打印二叉树——js

    xiaoxiao2025-04-02  5

    从上往下打印二叉树

    从上往下打印出二叉树的每个节点,同层节点从左至右打印。

    思路

    1.借助两个辅助队列,一个用来存放结点,一个用来存放结点值; 2.先将根节点加入到队列中,然后遍历队列中的元素,遍历过程中,访问该元素的左右节点,再将左右子节点加入到队列中来。

    代码

    /* function TreeNode(x) { this.val = x; this.left = null; this.right = null; } */ function PrintFromTopToBottom(root) { // write code here var res = []; var duilie = []; duilie.push(root); if(root == null){ return res; } while(duilie.length){ //只要没遍历完,就一直会每次运行完下面代码队列都不为空 var node = duilie.shift();//从头部删除一个元素,并返回值 res.push(node.val);//将node节点的val压入res if(node.left != null){ duilie.push(node.left); } if(node.right != null){ duilie.push(node.right); } } return res; }
    最新回复(0)