1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 19:18:14 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/最小高度树 [minimum-height-trees].html

41 lines
2.2 KiB
HTML
Raw Normal View History

2022-03-27 20:56:26 +08:00
<p>树是一个无向图,其中任何两个顶点只通过一条路径连接。 换句话说,一个任何没有简单环路的连通图都是一棵树。</p>
<p>给你一棵包含&nbsp;<code>n</code>&nbsp;个节点的树,标记为&nbsp;<code>0</code>&nbsp;&nbsp;<code>n - 1</code> 。给定数字&nbsp;<code>n</code>&nbsp;和一个有 <code>n - 1</code> 条无向边的 <code>edges</code>&nbsp;列表(每一个边都是一对标签),其中 <code>edges[i] = [a<sub>i</sub>, b<sub>i</sub>]</code> 表示树中节点 <code>a<sub>i</sub></code><code>b<sub>i</sub></code> 之间存在一条无向边。</p>
<p>可选择树中任何一个节点作为根。当选择节点 <code>x</code> 作为根节点时,设结果树的高度为 <code>h</code> 。在所有可能的树中,具有最小高度的树(即,<code>min(h)</code>)被称为 <strong>最小高度树</strong></p>
<p>请你找到所有的 <strong>最小高度树</strong> 并按 <strong>任意顺序</strong> 返回它们的根节点标签列表。</p>
树的 <strong>高度</strong> 是指根节点和叶子节点之间最长向下路径上边的数量。
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2020/09/01/e1.jpg" style="height: 213px; width: 800px;" />
<pre>
<strong>输入:</strong>n = 4, edges = [[1,0],[1,2],[1,3]]
<strong>输出:</strong>[1]
<strong>解释:</strong>如图所示,当根是标签为 1 的节点时,树的高度是 1 ,这是唯一的最小高度树。</pre>
<p><strong>示例 2</strong></p>
<img alt="" src="https://assets.leetcode.com/uploads/2020/09/01/e2.jpg" style="height: 321px; width: 800px;" />
<pre>
<strong>输入:</strong>n = 6, edges = [[3,0],[3,1],[3,2],[3,4],[5,4]]
<strong>输出:</strong>[3,4]
</pre>
<p>&nbsp;</p>
<ul>
</ul>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n &lt;= 2 * 10<sup>4</sup></code></li>
<li><code>edges.length == n - 1</code></li>
<li><code>0 &lt;= a<sub>i</sub>, b<sub>i</sub> &lt; n</code></li>
<li><code>a<sub>i</sub> != b<sub>i</sub></code></li>
<li>所有 <code>(a<sub>i</sub>, b<sub>i</sub>)</code> 互不相同</li>
<li>给定的输入 <strong>保证</strong> 是一棵树,并且 <strong>不会有重复的边</strong></li>
</ul>