给定一个二叉树,返回其按层次遍历的节点值。 (即逐层地,从左到右访问所有节点)。
例如:
给定二叉树: [3,9,20,null,null,15,7]
,
1 | 3 |
返回其层次遍历结果:
1 | [ |
解决方案
- 思路:使用队列来模拟二叉树的层次遍历。
让根结点root进队,当队列不为空时,循环执行如下操作:
1.获取当前层的节点个数,它等于队列中的元素个数size;
2.遍历当前层的节点。循环执行size次出队操作,每次执行出队操作时,判断当前节点是否有孩子。如果它有左孩子,则将其左孩子进队。若它(还)有右孩子,让右孩子(也)进队。
1 | /*public class TreeNode { |