Question

A recursive function calculate_height(node) is designed to find the height of a binary tree (where a single node has height 0). The function is implemented as: def calculate_height(node):     if node is None:         return -1 # Base case     left_height = calculate_height(node.left)     right_height = calculate_height(node.right)     return 1 + max(left_height, right_height) When tested with a single-node tree (e.g., Node(10)), it returns 0. However, when tested with an empty tree (None), it returns -1. If the desired output for an empty tree is also -1 and for a single node tree is 0, the current implementation is correct. But if the definition of height for a single node tree is 1, what change would be needed in the base case?

A Change return -1 to return 0.
B Change return -1 to return 1.
C Change return 1 + max(left_height, right_height) to return max(left_height, right_height).
D Change return 1 + max(left_height, right_height) to return 2 + max(left_height, right_height).
E No change is needed; the definition of height is subjective.
Practice Next

Hey! Ask a query