前言下一篇会记录二叉树序列遍历这个“神器”的实际应用。[leetcode]102.二叉树的层序遍历二叉树的层序遍历与传统的前序、中序、后序遍历有一些区别。它按照层级从左到右,从上到下遍历。因此,我在遍历当前层的节点时,必须记录当前层所有节点的左右,保存在队列中,进行下一轮遍历,直到节点没有左右为止,也就是说我已经遍历到最后一层了。.因此,需要用到一个辅助数据结构——队列,队列是先进后出的,符合层次遍历的顺序。其实这道题是队列+广度优先遍历的组合题。只看代码:/***二叉树节点的定义。*functionTreeNode(val,left,right){*this.val=(val===undefined?0:val)*this.left=(left===undefined?null:left)*this.right=(right===undefined?null:right)*}*//***@param{TreeNode}root*@return{number[][]}*/varlevelOrder=function(root){constres=[],队列=[];queue.push(根);如果(root===null)返回res;while(queue.length!==0){letlevel=[];constlength=queue.lengthfor(vari=0;i
