zoukankan      html  css  js  c++  java
  • 使用递归打印二叉树的左视图 java

    使用递归打印二叉树的左视图 java

    package com.li.jinRiTouTiao;
    
    public class PrintLeftView {
    
        static class TreeNode{
            TreeNode left;
            TreeNode right;
            int val;
    
            public TreeNode(int val) {
                this.val = val;
            }
        }
    
        int layer=0;  //定义一个全局变量,最大层数layer,  depth是递归的深度。
        public void printleftVeiw(TreeNode root,int depth) {
    
            if (depth > layer) {   //当深度大于层次时,就打印。  因为递归是先左后右,所以每一层 第一个深度大于层次的节点一定为左视图的节点。
                System.out.println(root.val);
                layer++;
            }
            if (root.left != null) {
                printleftVeiw(root.left,depth+1);
            }
            if (root.right!=null) {
                printleftVeiw(root.right,depth+1);
            }
        }
    
    
        public static void main(String[] args) {
            // 构建二叉树
            TreeNode root = new TreeNode(1);
            root.left = new TreeNode(2);
            root.right = new TreeNode(3);
            root.left.left = new TreeNode(4);
            root.right.left = new TreeNode(5);
            root.right.right = new TreeNode(6);
            root.right.left.left = new TreeNode(7);
            root.right.left.right = new TreeNode(8);
            PrintLeftView test = new PrintLeftView();
            test.printleftVeiw(root,1);
        }
    }
  • 相关阅读:
    瀑布流布局(等宽不等高jQuery)
    多组图自动无限循环(swiper轮播)
    $.ajax的标准写法
    走马灯特效
    如何使用js改变HTML中title里面固定的文字
    test
    单例设计模式
    线程的五种状态(线程的生命周期)
    Net基础班第十三天
    装箱、拆箱
  • 原文地址:https://www.cnblogs.com/liyafei/p/9510030.html
Copyright © 2011-2022 走看看