zoukankan      html  css  js  c++  java
  • 二叉树常见题目

    一、求二叉树的最大深度

    public int maxDepth(Node node){
            if(node == null) return 0;
            int left = maxDepth(node.left);
            int right = maxDepth(node.right);
            int height = Math.max(left,right)+1;
            return height;
        }

    二、二叉树的节点数

     public int countTree(Node node){
            if(node == null) return 0;
            int left = countTree(node.left);
            int right = countTree(node.right);
            int count = left+right+1;
            return count;
        }

    三、二叉树中叶子节点个数

        public int numOfleaf(Node node){
            if(node == null) return 0;
            if(node.left==null && node.right==null) return 1;
            int result = numOfleaf(node.left)+numOfleaf(node.right);
            return result;
        }

    四、二叉树第K层节点个数

     public int numOfKLevel(Node node,int k){
            if(node == null || k<0) return 0;
            if(k==1) return 1;
            int left = numOfKLevel(node.left,k-1);
            int right = numOfKLevel(node.right,k-1);
            return left+right;
        }

     

  • 相关阅读:
    [BZOJ1006]神奇的国度
    配置ubuntu18.04
    数据库的基本操作
    关于排序的算法——桶排序
    关于TCP/IP协议的记录
    laravel学习历程
    装箱问题
    01背包
    数字三角形
    统计单词的个数
  • 原文地址:https://www.cnblogs.com/yingpu/p/9281910.html
Copyright © 2011-2022 走看看