-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
fe1af7f
commit e494ea5
Showing
1 changed file
with
52 additions
and
0 deletions.
There are no files selected for viewing
52 changes: 52 additions & 0 deletions
52
2458-height-of-binary-tree-after-subtree-removal-queries/README.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
<h2><a href="https://leetcode.com/problems/height-of-binary-tree-after-subtree-removal-queries/?envType=daily-question&envId=2024-10-26">2458. Height of Binary Tree After Subtree Removal Queries</a></h2><h3>Hard</h3><hr><p>You are given the <code>root</code> of a <strong>binary tree</strong> with <code>n</code> nodes. Each node is assigned a unique value from <code>1</code> to <code>n</code>. You are also given an array <code>queries</code> of size <code>m</code>.</p> | ||
|
||
<p>You have to perform <code>m</code> <strong>independent</strong> queries on the tree where in the <code>i<sup>th</sup></code> query you do the following:</p> | ||
|
||
<ul> | ||
<li><strong>Remove</strong> the subtree rooted at the node with the value <code>queries[i]</code> from the tree. It is <strong>guaranteed</strong> that <code>queries[i]</code> will <strong>not</strong> be equal to the value of the root.</li> | ||
</ul> | ||
|
||
<p>Return <em>an array </em><code>answer</code><em> of size </em><code>m</code><em> where </em><code>answer[i]</code><em> is the height of the tree after performing the </em><code>i<sup>th</sup></code><em> query</em>.</p> | ||
|
||
<p><strong>Note</strong>:</p> | ||
|
||
<ul> | ||
<li>The queries are independent, so the tree returns to its <strong>initial</strong> state after each query.</li> | ||
<li>The height of a tree is the <strong>number of edges in the longest simple path</strong> from the root to some node in the tree.</li> | ||
</ul> | ||
|
||
<p> </p> | ||
<p><strong class="example">Example 1:</strong></p> | ||
<img alt="" src="https://assets.leetcode.com/uploads/2022/09/07/binaryytreeedrawio-1.png" style="width: 495px; height: 281px;" /> | ||
<pre> | ||
<strong>Input:</strong> root = [1,3,4,2,null,6,5,null,null,null,null,null,7], queries = [4] | ||
<strong>Output:</strong> [2] | ||
<strong>Explanation:</strong> The diagram above shows the tree after removing the subtree rooted at node with value 4. | ||
The height of the tree is 2 (The path 1 -> 3 -> 2). | ||
</pre> | ||
|
||
<p><strong class="example">Example 2:</strong></p> | ||
<img alt="" src="https://assets.leetcode.com/uploads/2022/09/07/binaryytreeedrawio-2.png" style="width: 301px; height: 284px;" /> | ||
<pre> | ||
<strong>Input:</strong> root = [5,8,9,2,1,3,7,4,6], queries = [3,2,4,8] | ||
<strong>Output:</strong> [3,2,3,2] | ||
<strong>Explanation:</strong> We have the following queries: | ||
- Removing the subtree rooted at node with value 3. The height of the tree becomes 3 (The path 5 -> 8 -> 2 -> 4). | ||
- Removing the subtree rooted at node with value 2. The height of the tree becomes 2 (The path 5 -> 8 -> 1). | ||
- Removing the subtree rooted at node with value 4. The height of the tree becomes 3 (The path 5 -> 8 -> 2 -> 6). | ||
- Removing the subtree rooted at node with value 8. The height of the tree becomes 2 (The path 5 -> 9 -> 3). | ||
</pre> | ||
|
||
<p> </p> | ||
<p><strong>Constraints:</strong></p> | ||
|
||
<ul> | ||
<li>The number of nodes in the tree is <code>n</code>.</li> | ||
<li><code>2 <= n <= 10<sup>5</sup></code></li> | ||
<li><code>1 <= Node.val <= n</code></li> | ||
<li>All the values in the tree are <strong>unique</strong>.</li> | ||
<li><code>m == queries.length</code></li> | ||
<li><code>1 <= m <= min(n, 10<sup>4</sup>)</code></li> | ||
<li><code>1 <= queries[i] <= n</code></li> | ||
<li><code>queries[i] != root.val</code></li> | ||
</ul> |