zoukankan      html  css  js  c++  java
  • 剑指Offer(Java版)第二十七题:从上往下打印出二叉树的每个节点,同层节点从左至右打印。

    /*
    从上往下打印出二叉树的每个节点,同层节点从左至右打印。
    层序遍历时,一般都要用到队列,
    可以用LinkedList类(方法:poll() 和 offer(Obj) )。
    */

    import java.util.*;

    public class Class27 {

    public class TreeNode {
    int val = 0;
    TreeNode left = null;
    TreeNode right = null;

    public TreeNode(int val) {
    this.val = val;
    }
    }

    public void sequencePrintTree(TreeNode root){
    if(root == null){
    return;
    }
    LinkedList<TreeNode> queue = new LinkedList<TreeNode>();
    queue.offer(root);
    TreeNode node = null;
    while(queue.size() != 0){
    node = queue.poll();
    System.out.print(node.val + " ");
    if(node.left != null){
    queue.offer(node.left);
    }
    if(node.right != null){
    queue.offer(node.right);
    }
    }
    System.out.println();
    }

    private void test() {
    TreeNode[] nodes = new TreeNode[15];
    for(int i=0;i<15;i++) {
    nodes[i]= new TreeNode(i+1);
    }
    for(int i=0;i<7;i++) {
    nodes[i].left=nodes[2*i+1];
    nodes[i].right=nodes[2*i+2];
    }
    sequencePrintTree(nodes[0]);
    }

    public static void main(String[] args) {
    // TODO Auto-generated method stub
    Class27 c = new Class27();
    c.test();

    }

    }

  • 相关阅读:
    酒店预订管理系统
    毕业论文管理系统
    酒店预订管理系统
    闪屏+引导页
    android编程测试
    测试用例
    ER图
    软件工程作业
    毕业论文管理系统
    酒店管理系统
  • 原文地址:https://www.cnblogs.com/zhuozige/p/12507812.html
Copyright © 2011-2022 走看看