如果你将每个点的度当做权值并求了一个直径,最后减去所有中间点(因为被重复计算了两次)的话
记得在取叶子结点的最大权值和的时候减去所有中间点dis[i]-(dep[i]-2),而不是只寻找最大权值和dis[i]
dis[i]-(dep[i]-2)
dis[i]
这里提供一组样例,来自于intirain
16 15 12 5 4 12 4 6 13 1 3 15 10 2 10 14 8 16 13 12 15 6 10 12 7 10 10 9 16 1 11 16