IVl*_*lad 21
继续从树中删除叶节点,直到留下单个节点(如果留下两个节点,则删除其中任何一个节点).该节点最小化从其到每个其他节点的最大距离.
例:
* *
/ \ \
* * * *
\ \ \
* => * => * => *
\ \
* *
\
*
Run Code Online (Sandbox Code Playgroud)
要在线性时间内实现此功能,请将所有初始叶节点插入FIFO队列中.对于每个节点,还要存储其子节点的数量.从队列中删除元素时,请减少其父元素的子元素数.如果此数字变为零,则将父项插入队列.