import java.util.LinkedList;
import java.util.Queue;
public class Main {
class BinaryNode {
int val;
BinaryNode left;
BinaryNode right;
public BinaryNode(int val) {
this.val = val;
}
}//BinaryNode
private BinaryNode root;//根节点,这个属性很重要
public void printTreeLineByLine(BinaryNode root) {
Queue<BinaryNode> queue = new LinkedList<BinaryNode>();//把待打印的结点放在队列中
BinaryNode curNode;
queue.offer(root);
int curNum = 1;//当前行未打印的节点数
int next = 0;//下一行待打印的节点数
while (!queue.isEmpty()) {
curNode = queue.poll();
System.out.print(curNode.val + " ");
curNum--;
if (curNode.left != null) {
queue.offer(curNode.left);
next++;
}
if (curNode.right != null) {
queue.offer(curNo
构造完全二叉树,并按行从左到右输出
最新推荐文章于 2023-04-14 23:46:06 发布