从上到下层次遍历二叉树,并打印输出,使用的是队列,依次存储,输出的时候先把队首输出,同时去除队首元素。
上代码:
package binaryTree;
import java.util.LinkedList;
import java.util.Queue;
/**
* 二叉树的层次遍历,使用队列
*
* @author duola
*
*/
public class cengcibianli {
public static class treeNode {
int val;
treeNode leftNode;
treeNode rightNode;
}
public static void cengci(treeNode root) {
if (root == null)
return;
Queue<treeNode> list = new LinkedList<>();
list.add(root);
treeNode currNode;
while (!list.isEmpty()) {
currNode = list.remove();
System.out.print(currNode.val + "\t");
if (currNode.leftNode != null) {
list.add(currNode.leftNode);
}
if (currNode.rightNode != null) {
list.add(currNode.rightNode);
}
}
}
public static void main(String[] args) {
treeNode rootNode = new treeNode();
treeNode root = new treeNode();
root.val = 1;
root.leftNode = new treeNode();
root.leftNode.val = 2;
root.leftNode.leftNode = new treeNode();
root.leftNode.leftNode.val = 3;
root.leftNode.rightNode = new treeNode();
root.leftNode.rightNode.val = 4;
root.rightNode = new treeNode();
root.rightNode.val = 5;
root.rightNode.leftNode = new treeNode();
root.rightNode.leftNode.val = 6;
root.rightNode.rightNode = new treeNode();
root.rightNode.rightNode.val = 7;
cengci(root);
}
}
版权声明:本文为a1b2c3d4123456原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。