剑指Offer 23题 从上往下打印二叉树 Java版

来源:互联网 发布:手机怎么成为网络歌手 编辑:程序博客网 时间:2024/06/06 21:43
package test;import java.util.LinkedList;import java.util.Queue;public class PrintFormTopToBottom { class BinaryTreeNode{int value;BinaryTreeNode left;BinaryTreeNode right;} public void printFormTopToBottom(BinaryTreeNode root){ if(root == null) return; Queue<BinaryTreeNode> queue = new LinkedList<>(); queue.offer(root); while(!queue.isEmpty()){ BinaryTreeNode node = queue.poll(); System.out.println(node.value); if(node.left != null) queue.offer(node.left); if(node.right != null) queue.offer(node.right); } }public static void main(String[] args) {// TODO Auto-generated method stubPrintFormTopToBottom printFormTopToBottom = new PrintFormTopToBottom();BinaryTreeNode node8 = printFormTopToBottom.new BinaryTreeNode();node8.value = 8;BinaryTreeNode node6 = printFormTopToBottom.new BinaryTreeNode();node6.value = 6;BinaryTreeNode node10 = printFormTopToBottom.new BinaryTreeNode();node10.value = 10;BinaryTreeNode node5 = printFormTopToBottom.new BinaryTreeNode();node5.value = 5;BinaryTreeNode node7 = printFormTopToBottom.new BinaryTreeNode();node7.value = 7;BinaryTreeNode node9 = printFormTopToBottom.new BinaryTreeNode();node9.value = 9;BinaryTreeNode node11 = printFormTopToBottom.new BinaryTreeNode();node11.value = 11;node8.left = node6;node8.right = node10;node6.left = node5;node6.right = node7;node10.left = node9;node10.right = node11;printFormTopToBottom.printFormTopToBottom(node8);}}

0 0
原创粉丝点击