「剣指offer」――JavaScript(22)上から下へ二叉の木を印刷する

768 ワード

二叉の木を上から下に印刷します.
テーマの説明
二叉樹の各ノードは、上から下に印刷され、同じ層のノードは左から右に印刷される.
考え方
  • は、2つの補助列を介して、1つは、結点を保存するために使用され、1つは、結点値を保存するために使用される.
  • は、まずルートノードをキューに追加し、その後、キュー中の要素を巡回して、要素の左右のノードにアクセスし、次に左右のサブノードをキューに参加する.
  • コードを実現
    /* function TreeNode(x) {
        this.val = x;
        this.left = null;
        this.right = null;
    } */
    function PrintFromTopToBottom(root) {
        var queue = [];
        queue.push(root);
        var result = [];
    
        if (root == null) {
            return result;
        }
    
        while (queue.length) {
    
            var temp = queue.shift();
    
            result.push(temp.val);
    
            if (temp.left) {
                queue.push(temp.left);
            }
            if (temp.right) {
                queue.push(temp.right);
            }
        }
    
        return result;
    
    }