1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-26 02:00:27 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/二叉树的堂兄弟节点 II [cousins-in-binary-tree-ii].html

48 lines
2.1 KiB
HTML
Raw Normal View History

2023-04-23 22:41:08 +08:00
<p>给你一棵二叉树的根&nbsp;<code>root</code>&nbsp;,请你将每个节点的值替换成该节点的所有 <strong>堂兄弟节点值的和&nbsp;</strong></p>
<p>如果两个节点在树中有相同的深度且它们的父节点不同,那么它们互为 <strong>堂兄弟</strong>&nbsp;</p>
<p>请你返回修改值之后,树的根<em>&nbsp;</em><code>root</code><em>&nbsp;</em></p>
<p><strong>注意</strong>,一个节点的深度指的是从树根节点到这个节点经过的边数。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2023/01/11/example11.png" style="width: 571px; height: 151px;" /></p>
<pre>
<b>输入:</b>root = [5,4,9,1,10,null,7]
<b>输出:</b>[0,0,0,7,7,null,11]
<b>解释:</b>上图展示了初始的二叉树和修改每个节点的值之后的二叉树。
- 值为 5 的节点没有堂兄弟,所以值修改为 0 。
- 值为 4 的节点没有堂兄弟,所以值修改为 0 。
- 值为 9 的节点没有堂兄弟,所以值修改为 0 。
- 值为 1 的节点有一个堂兄弟,值为 7 ,所以值修改为 7 。
- 值为 10 的节点有一个堂兄弟,值为 7 ,所以值修改为 7 。
- 值为 7 的节点有两个堂兄弟,值分别为 1 和 10 ,所以值修改为 11 。
</pre>
<p><strong>示例 2</strong></p>
<p><img alt="" src="https://assets.leetcode.com/uploads/2023/01/11/diagram33.png" style="width: 481px; height: 91px;" /></p>
<pre>
<b>输入:</b>root = [3,1,2]
<b>输出:</b>[0,0,0]
<b>解释:</b>上图展示了初始的二叉树和修改每个节点的值之后的二叉树。
- 值为 3 的节点没有堂兄弟,所以值修改为 0 。
- 值为 1 的节点没有堂兄弟,所以值修改为 0 。
- 值为 2 的节点没有堂兄弟,所以值修改为 0 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li>树中节点数目的范围是&nbsp;<code>[1, 10<sup>5</sup>]</code></li>
<li><code>1 &lt;= Node.val &lt;= 10<sup>4</sup></code></li>
</ul>