我是靠谱客的博主 冷酷绿草,最近开发中收集的这篇文章主要介绍【算法hot-222】完全二叉树的节点个数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

完全二叉树的节点个数

给你一棵 完全二叉树 的根节点 root ,求出该树的节点个数。

完全二叉树 的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。

public class LC274_222_countNodes_01 {
    public static void main(String[] args) {
        TreeNode root = TreeNode.generateRandomBST(1, 100, 3);
        TreeNode.printTree(root);
        System.out.println(countNodes(root));
    }

    //层序遍历
    public static int countNodes(TreeNode root) {
        if (root == null) {
            return 0;
        }
        return countNodes(root.left) + countNodes(root.right) + 1;
    }
}
public class LC274_222_countNodes_02 {

    public static void main(String[] args) {
        System.out.println(countNodes(TreeNode.generateRandomBST(1, 100, 5)));
    }

    //层序遍历
    public static int countNodes(TreeNode root) {
        if (root == null) {
            return 0;
        }
        int ans = 0;
        Queue<TreeNode> queue = new LinkedList<>();
        queue.offer(root);
        while (!queue.isEmpty()) {
            TreeNode pop = queue.poll();
            if (pop.left != null) {
                queue.offer(pop.left);
            }
            if (pop.right != null) {
                queue.offer(pop.right);
            }
            ans++;
        }
        return ans;
    }
}

最后

以上就是冷酷绿草为你收集整理的【算法hot-222】完全二叉树的节点个数的全部内容,希望文章能够帮你解决【算法hot-222】完全二叉树的节点个数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(37)

评论列表共有 0 条评论

立即
投稿
返回
顶部