给定坐标平面中的二叉树,其根坐标为 (x,y) 。我们需要找到这棵树在 x 轴上的最大投影。也就是说,基本上我们需要找到这棵树的最大宽度。树也可以倾斜。
例子 :
1
/ \
2 3
/ / \
4 5 6
Width = 5
1
/ \
2 3
/
4
Width = 4
1
/
2
/
4
Width = 3
我的逻辑是基本上找到最左边的节点和最右边的节点并减去它们的 x 坐标。从根到左子树x
变为x-1
y 变为y+1
并且在右子树x
变为x+1
。找到这两个坐标 xLeft 和 xRight 后,我们可以找到最大宽度。但是我在编码时遇到了麻烦。
谁能告诉我该怎么做?这不是一个家庭作业问题,而是我在某处读到的一个编程难题。