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 one level is defined as the length between the end-nodes (the leftmost and rightmost non-null nodes), where the null nodes between the end-nodes that would be present in a complete binary tree extending down to that level are also counted into the length calculation.
It is guaranteed that the answer will in the range of a 32-bit signed integer.
Output: 4
Explanation: The maximum width exists in the third level with length 4 (5,3,null,9).
Output: 7
Explanation: The maximum width exists in the fourth level with length 7 (6,null,null,null,null,null,7).
Output: 2
Explanation: The maximum width exists in the second level with length 2 (3,2).
[1, 3000].-100 <= Node.val <= 100To determine the maximum width of the binary tree, one intuitive method is to perform a level-wise traversal while keeping track of the indices of nodes if they were part of a "complete" binary tree. The idea here is that if two nodes are on the same level, the difference between their indices can give us the width at that level. The maximum width found across all levels is the answer.