zoukankan      html  css  js  c++  java
  • 二叉树层次遍历

    /**
     * 
       * 二叉树按层遍历的思路:
       * 将root节点,放入队列中(先进先出),然后取出root节点,检查左节点是否为null,不为null,放入队列中,
        * 检查右节点是否为null,不为null,放入队列中,然后打印root节点的值,再从队列中取出下一节点,循环直到队列为空
     *
     */
    public class BinTree {
    
        public static void main(String[] args) {
            
            Node  root = new Node("A");
            root.left = new Node("B");
            root.right = new Node("C");
            root.left.left = new Node("D");
            root.left.right = new Node("E");
            root.right.left = new Node("F");
            root.right.right = new Node("G");
        
            traversal(root);
    
        }
        
        public static void traversal(Node root) {
            System.out.println("二叉树层次遍历");
            LinkedList<Node> list = new LinkedList<Node>();
            list.add(root);
            while(!list.isEmpty()) {
                Node  temp =  list.pop();
                if(temp.left != null) {
                    list.offer(temp.left);
                }
                if(temp.right != null) {
                    list.offer(temp.right);
                }
                 System.out.print(temp.value + " ");
             }
        }
        
        static class Node{
            String value;
            Node left;
            Node right;
            public Node(String value) {
                this.value = value;
            }
        }
        
    }
  • 相关阅读:
    动态改变Spring定时任务执行频率
    tomcat
    liunx命令
    idea 使用笔记
    redis 笔记
    学习笔记 Optional
    JPA Example 基本使用使用实例
    面试经验总结
    基于LAMP实现后台活动发布和前端扫码签到系统
    XV6源代码阅读-文件系统
  • 原文地址:https://www.cnblogs.com/moris5013/p/11213837.html
Copyright © 2011-2022 走看看