在Java中,队列可以用来实现二叉树的顺序遍历。具体步骤如下:
首先,创建一个队列来对根节点进行排队。
进入循环直到队列为空。在循环中,首先记录当前队列的大小,指示当前层中的节点数。
多次遍历当前层的节点,每次将队列的头节点出队,并将其值存储在结果列表中。同时,它的左右子节点也进入队列。
返回结果列表,完成二叉树的顺序遍历。
以下是Java代码的一个示例:
导入Java . util . ArrayList;
导入Java . util . linked list;
导入Java . util . list;
导入Java . util . queue;
类别TreeNode {
int val
TreeNode向左;
TreeNode right
TreeNode(int x ){
val = x;
}
}
公共类BinaryTreeLevelOrderTraversal {
公共列表& lt列表& lt整数& gt& gtlevelOrder(树节点根){
列表& lt列表& lt整数& gt& gtresult = new ArrayList & lt& gt();
if(root = = null ){
返回结果;
}
队列& ltTreeNode & gtqueue = new LinkedList & lt& gt();
queue . offer(root);
而(!queue . isempty()){
int size = queue . size();
列表& lt整数& gtlevel = new ArrayList<& gt();
for(int I = 0;我& lt尺寸;i++) {
TreeNode node = queue . poll();
level . add(node . val);
if(node . left!= null) {
queue . offer(node . left);
}
if(node . right!= null) {
queue . offer(node . right);
}
}
result . add(level);
}
返回结果;
}
}
使用上面的代码,您可以遍历给定二叉树的序列并返回包含每层节点值的列表。
以上内容来自互联网,不代表本站全部观点!欢迎关注我们:zhujipindao。com
评论前必须登录!
注册