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 the null nodes between the end-nodes are also counted into the length calculation.
Example
No.1
Input:
1 | 1 |
Output: 4
Explanation: The maximum width existing in the third level with the length 4 (5,3,null,9).
No.2
Input:
1 | 1 |
Output: 8
Explanation:The maximum width existing in the fourth level with the length 8 (6,null,null,null,null,null,null,7).
Note
Answer will in the range of 32-bit signed integer.
Code
1 | public class TreeNode { |
1 | public int widthOfBinaryTree(TreeNode root) { |