#

方法一 层序遍历二叉树

借用队列,层序遍历二叉树。

注意:已有定义的节点其左右子树是null,而已经为null的节点其左右子树为undifined。

 1 /**
 2  * Definition for a binary tree node.
 3  * function TreeNode(val) {
 4  *     this.val = val;
 5  *     this.left = this.right = null;
 6  * }
 7  */
 8 /**
 9  * @param {TreeNode} root
10  * @return {number[]}
11  */
12 var levelOrder = function(root) {
13     //层序遍历?
14     let queue = [], res = [];
15     queue.push(root);
16     while(root || queue.length != 0) {
17         root = queue.shift();
18         if(root) {
19             res.push(root.val);
20             queue.push(root.left);
21             queue.push(root.right);
22             console.log(root);
23         }
24         console.log(root);
25     }
26     return res;
27 };