方法一 层序遍历二叉树
借用队列,层序遍历二叉树。
注意:已有定义的节点其左右子树是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 };