Class Solution

java.lang.Object
g0401_0500.s0450_delete_node_in_a_bst.Solution

public class Solution extends Object
450 - Delete Node in a BST.<p>Medium</p> <p>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.</p> <p>Basically, the deletion can be divided into two stages:</p> <ol> <li>Search for a node to remove.</li> <li>If the node is found, delete the node.</li> </ol> <p><strong>Example 1:</strong></p> <p><img src="https://assets.leetcode.com/uploads/2020/09/04/del_node_1.jpg" alt="" /></p> <p><strong>Input:</strong> root = [5,3,6,2,4,null,7], key = 3</p> <p><strong>Output:</strong> [5,4,6,2,null,null,7]</p> <p><strong>Explanation:</strong></p> <pre><code> Given key to delete is 3. So we find the node with value 3 and delete it. One valid answer is [5,4,6,2,null,null,7], shown in the above BST. Please notice that another valid answer is [5,2,6,null,4,null,7] and it's also accepted. </code></pre> <p><img src="https://assets.leetcode.com/uploads/2020/09/04/del_node_supp.jpg" alt="" /></p> <p><strong>Example 2:</strong></p> <p><strong>Input:</strong> root = [5,3,6,2,4,null,7], key = 0</p> <p><strong>Output:</strong> [5,3,6,2,4,null,7]</p> <p><strong>Explanation:</strong> The tree does not contain a node with value = 0.</p> <p><strong>Example 3:</strong></p> <p><strong>Input:</strong> root = [], key = 0</p> <p><strong>Output:</strong> []</p> <p><strong>Constraints:</strong></p> <ul> <li>The number of nodes in the tree is in the range <code>[0, 10<sup>4</sup>]</code>.</li> <li><code>-10<sup>5</sup> <= Node.val <= 10<sup>5</sup></code></li> <li>Each node has a <strong>unique</strong> value.</li> <li><code>root</code> is a valid binary search tree.</li> <li><code>-10<sup>5</sup> <= key <= 10<sup>5</sup></code></li> </ul> <p><strong>Follow up:</strong> Could you solve it with time complexity <code>O(height of tree)</code>?</p>
  • Constructor Details

    • Solution

      public Solution()
  • Method Details