题解 | #求二叉树的层序遍历#

求二叉树的层序遍历

http://www.nowcoder.com/practice/04a5560e43e24e9db4595865dc9c63a3

这道题的主要思路是通过队列来实现。利用队列先进先出的原则来实现二叉树的程序遍历。因此首先写一个层序遍历二叉树的模板。 Queue queue = new new ArrayDeque<>(); queue.add(root); int next = 0; int now = 1; while(!queue.isEmpty()){ while(now>=1){ TreeNode node = queue.poll(); if(node.left!=null){ queue.add(node.left); next++; } if(node.right!=null){ queue.add(node.right); next++; } } now = next; next = 0;

} 但是由于需要返回一个二维数组。因此需要稍作改变。用一个变量记录当前层数的元素个数,另一个变量记录下一层元素的个数。

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务