Maximum Width of Binary Tree

Given a binary tree, write a function to get the maximum width of the given tree. The width of a tree is the maximum width among all levels. The binary tree has the same structure as a full binary tree, but some nodes are null.

The width of one level is defined as the length between the end-nodes (the leftmost and right most non-null nodes in the level, where thenullnodes between the end-nodes are also counted into the length calculation.

Example

Example 1:

Input:
           1
         /   \
        3     2
       / \     \  
      5   3     9 

Output:
 4

Explanation:
 The maximum width existing in the third level with the length 4 (5,3,null,9).

Example 2:

Input:

          1
         /  
        3    
       / \       
      5   3     


Output:
 2

Explanation:
 The maximum width existing in the third level with the length 2 (5,3).

Example 3:

Example 4:

Note

这题的核心:

  1. 层次遍历的实现(递归/迭代)

  2. 树孩子的index,最右边减去最左边:left = 2 * index, right = 2 * index + 1

Code

迭代

递归

Last updated