comments | difficulty | edit_url | rating | source | tags | ||||
---|---|---|---|---|---|---|---|---|---|
true |
困难 |
2521 |
第 136 场双周赛 Q4 |
|
给你一棵 无向 树,树中节点从 0
到 n - 1
编号。同时给你一个长度为 n - 1
的二维整数数组 edges
,其中 edges[i] = [ui, vi]
表示节点 ui
和 vi
在树中有一条边。
一开始,所有 节点都 未标记 。对于节点 i
:
- 当
i
是奇数时,如果时刻x - 1
该节点有 至少 一个相邻节点已经被标记了,那么节点i
会在时刻x
被标记。 - 当
i
是偶数时,如果时刻x - 2
该节点有 至少 一个相邻节点已经被标记了,那么节点i
会在时刻x
被标记。
请你返回一个数组 times
,表示如果你在时刻 t = 0
标记节点 i
,那么时刻 times[i]
时,树中所有节点都会被标记。
请注意,每个 times[i]
的答案都是独立的,即当你标记节点 i
时,所有其他节点都未标记。
示例 1:
输入:edges = [[0,1],[0,2]]
输出:[2,4,3]
解释:
- 对于
i = 0
:<ul> <li>节点 1 在时刻 <code>t = 1</code> 被标记,节点 2 在时刻 <code>t = 2</code> 被标记。</li> </ul> </li> <li>对于 <code>i = 1</code> : <ul> <li>节点 0 在时刻 <code>t = 2</code> 被标记,节点 2 在时刻 <code>t = 4</code> 被标记。</li> </ul> </li> <li>对于 <code>i = 2</code> : <ul> <li>节点 0 在时刻 <code>t = 2</code> 被标记,节点 1 在时刻 <code>t = 3</code> 被标记。</li> </ul> </li>
示例 2:
输入:edges = [[0,1]]
输出:[1,2]
解释:
- 对于
i = 0
:<ul> <li>节点 1 在时刻 <code>t = 1</code> 被标记。</li> </ul> </li> <li>对于 <code>i = 1</code> : <ul> <li>节点 0 在时刻 <code>t = 2</code> 被标记。</li> </ul> </li>
示例 3:
提示:
2 <= n <= 105
edges.length == n - 1
edges[i].length == 2
0 <= edges[i][0], edges[i][1] <= n - 1
- 输入保证
edges
表示一棵合法的树。