美文网首页
二叉树层序遍历JavaScrip非递归实现方法

二叉树层序遍历JavaScrip非递归实现方法

作者: 草珊瑚_6557 | 来源:发表于2020-02-03 22:17 被阅读0次
    const TreeNode = {
        val: 1,
        left: {
          val: 2,
          left: {
            val: 4,
          },
          right: {
            val: 5
          }
        },
        right: {
          val: 3,
          left: {
            val: 6,
          },
          right: {
            val: 7
          }
        }
      };
    
      const levelOrder = (root) => {
        const queue = [];
        const valArr = [];
    
        if(root === null){
          return;
        }
    
        queue.push(root);
    
        while(queue.length !== 0){
          const cur = queue.pop();
          valArr.push(cur.val);
          if(cur.left){
            queue.unshift(cur.left);
          }
          if(cur.right){
            queue.unshift(cur.right);
          }
        }
    
        return valArr;
      };
    
      console.log(levelOrder(TreeNode));
    

    相关文章

      网友评论

          本文标题:二叉树层序遍历JavaScrip非递归实现方法

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