450. Delete Node in a BST
Description
Given a root node reference of a BST and a key, delete the node with the given key in the BST. Return the root node reference (possibly updated) of the BST.
Basically, the deletion can be divided into two stages:
- Search for a node to remove.
- If the node is found, delete the node.
Example 1:
![](https://assets.leetcode.com/uploads/2020/09/04/del_node_1.jpg)
1 | Input: root = [5,3,6,2,4,null,7], key = 3 |
Example 2:
1 | Input: root = [5,3,6,2,4,null,7], key = 0 |
Example 3:
1 | Input: root = [], key = 0 |
Constraints:
- The number of nodes in the tree is in the range
[0, 10^4]
. -10^5 <= Node.val <= 10^5
- Each node has a unique value.
root
is a valid binary search tree.-10^5 <= key <= 10^5
Follow up: Could you solve it with time complexity O(height of tree)
?
Hints/Notes
- 2025/01/30
- bst
- Leetcode solution(checked)
Solution
Language: C++
1 | /** |