222. 完全二叉树的节点个数

发布时间:2024-01-22 23:37:04

针对于完全二叉树的写法

public int countNodes(TreeNode root) {
        if (root == null) {
            return 0;
        }
        TreeNode left = root.left;
        TreeNode right = root.right;
        int leftDepth = 0, rightDepth = 0;
        while (left != null) {
            left = left.left;
            leftDepth++;
        }
        while (right != null) {
            right = right.right;
            rightDepth++;
        }
        if (leftDepth == rightDepth) {
            return (2 << leftDepth) - 1;
        }
        // 以root为根的树不是满二叉树
        return countNodes(root.left) + countNodes(root.right) + 1;
    }

以满二叉树为单位计算节点个数

文章来源:https://blog.csdn.net/qq_44047415/article/details/135759514
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。