刷题-从上到下打印二叉树 III

一、题目

 

刷题-从上到下打印二叉树 III

 

二、重点难点分析

  1.刚刚忘记补充这道题了,这道题和前两道是一样的,只不过这里的题目要求时层数为单数时,按照从左到右输出打印,双数时就按照从右到左输出打印

  2.综上所述:我们可以按照前两道代码,加一个判断层数的条件即可,这里我加了falg,然后再结尾处加了一个判断falg的,里面的利用到reverse翻转函数,把temp里的元素进行翻转输出。

三、代码分析、

/**
 * Definition for a binary tree node.
 * function TreeNode(val) {
 *     this.val = val;
 *     this.left = this.right = null;
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number[][]}
 */
var levelOrder = function(root) {
    if( root == null) return [];
    let queue = []
    queue.push(root);
    let res = [];
    let falg=false;

    while(queue.length){
        var temp =[];
        for( let i = queue.length; i>0;i--){
            let top = queue.shift();
            temp.push(top.val);
            if(top.left){
                queue.push(top.left);
            }
            if(top.right){
                queue.push(top.right);
            }
        }
        if(falg){
            temp = temp.reverse();
        }
        res.push(temp);
        falg = !falg;
    }
    return res;
};

 

上一篇:docker-compose:nodejs mysql无法连接mysql


下一篇:koa2入门--09.art-template高速模板引擎的使用