Maximum Width of BT

Binary Trees FAQs Medium

Given the root of a binary tree, return the maximum width of the given tree.


The maximum width of a tree is the maximum width among all levels. The width of a level is determined by measuring the distance between its end nodes, which are the leftmost and rightmost non-null nodes. The length calculation additionally takes into account the null nodes that would be present between the end nodes if a full binary tree were to stretch down to that level.

Examples:

Input : root = [1, 3, 2, 5, 3, null, 9]

Output : 4

Explanation :

Input : root = [1, 3, 2, 5, null, null, 9, 6, null, 7]

Output : 7

Explanation :

Input : root = [5, 1, 2, 8, null, 4, 5, null, 6]

Constraints

  • 1 <= Number of Nodes <= 3000
  • -1000 <= Node.val <= 1000

Hints

  • Initialize a queue with (root, index = 0), where index represents the position in a complete binary tree. Perform BFS level by level
  • Track the first and last index of nodes at the current level. Compute width as last_index - first_index + 1 and update max_width. Add children to the queue with calculated indices based on complete tree properties

Company Tags

Ubisoft Salesforce OYO Rooms Electronic Arts Airbnb Medtronic American Express Reddit Cloudflare Stripe Intel ARM Riot Games Epic Games Broadcom Oracle Unity Technologies Swiggy Optum Instacart Freshworks Bloomberg Zynga Byju's Shopify Google Microsoft Amazon Meta Apple Netflix Adobe