DEV Community

ZeeshanAli-0704
ZeeshanAli-0704

Posted on

Count Complete Tree Nodes

Given the root of a complete binary tree, return the number of the nodes in the tree.

According to Wikipedia, every level, except possibly the last, is completely filled in a complete binary tree, and all nodes in the last level are as far left as possible. It can have between 1 and 2h nodes inclusive at the last level h.

Design an algorithm that runs in less than O(n) time complexity.

Example 1:
Input: root = [1,2,3,4,5,6]
Output: 6

/**
 * Definition for a binary tree node.
 * function TreeNode(val, left, right) {
 *     this.val = (val===undefined ? 0 : val)
 *     this.left = (left===undefined ? null : left)
 *     this.right = (right===undefined ? null : right)
 * }
 */
/**
 * @param {TreeNode} root
 * @return {number}
 */
var countNodes = function(root) {
    let result = [];

    function inOrderTraversal(node){
        if(node === null){
            return null;
        }
        inOrderTraversal(node.left);
        result.push(node.val)
        inOrderTraversal(node.right);

    }
    inOrderTraversal(root);
    return result.length

};
Enter fullscreen mode Exit fullscreen mode

Top comments (0)