Minimum Height Trees
题目描述
给出一棵树,问选择那些点做根节点时,树的深度最小。要求返回这些点的标号。
算法分析
我的想法是,用两次dfs找出这棵树的最长链。然后最长链中间的一个或两个点就是答案。这是可证明的,至于怎么严格证明我也不太会,自行领悟一下吧= =。。
然而这样的问题是,代码不太好写,要写两次dfs,最后还要按深度找到中间节点。
于是乎,xy同学就告诉我,你直接一轮一轮的删掉叶子节点,最后剩下一个点或者两个点就是答案了。。。
恩。。很机智。。。
代码就略了,因为是xy同学想的方法。。