levelordertraversalofbinarytree题目描述:给你一棵二叉树,请返回层序遍历得到的节点值。(即逐层,从左到右访问所有节点)。例子见LeetCode官网。来源:LeetCode链接:https://leetcode-cn.com/probl...版权归LeetCode所有。商业转载请联系官方授权,非商业转载请注明出处。方案一:使用队列遍历二叉树。队列的特点是先进先出,所以用队列来遍历二叉树,实现层序遍历。具体过程如下:首先,如果root为空,则直接返回一个空的List。如果root不为空,声明一个队列节点,将根节点加入队列,声明一个结果,然后遍历nodes中的节点,遍历过程如下:首先用count记录队列中的节点个数currentqueue,也就是当前层的节点个数,vals记录当前节点的值;从nodes中依次取出count个节点,将对应的节点值放入vals中,如果当前节点的左右子节点不为空,则按从左到右依次放入nodes中。然后将vals添加到result结果中。反复遍历nodes中的节点,直到nodes为空。最后返回的结果就是层序遍历的结果。importjava.util.ArrayList;importjava.util.LinkedList;importjava.util.List;importjava.util.Queue;publicclassLeetCode_102{/***使用队列遍历二叉树:队列的特性在先先出*@paramroot*@return*/publicstaticList>levelOrder(TreeNoderoot){if(root==null){returnnewArrayList<>();}List
>result=newArrayList<>();//暂存每一行的节点Queue
