Count nodes in complete tree

Write codeMedium25 minGoogle and Meta style

Your task

Given a complete binary tree encoded as a dense level-order array (every level full except possibly the last, which is filled left to right with no gaps), return the number of nodes in O(log^2 n) time. Do not just return the array length: implement the height comparison: if a node's leftmost path height equals its rightmost path height, its subtree is perfect with 2^h - 1 nodes; otherwise recurse on both children. Return the node count.

Examples

count_complete_nodes(level: list[int]) -> int
Example 1
Inputcount_complete_nodes([1, 2, 3, 4, 5, 6])
Output6