# Deletion in Binary Search Tree

Learn how nodes are deleted in binary search trees and analyze a few node deletion scenarios.

## Introduction

In this lesson, you are going to study how a node is deleted in a BST. In general, to delete a node in a BST, you will search for it. Once it is found, you’ll free the space taken by that node, and you will re-allocate its left and right-subtree (if present). To make things simpler, we’ve identified four possible cases involved in BST node deletion. You will tackle each one separately:

- Deleting in an empty tree
- Deleting a node with no children, i.e., a leaf node
- Deleting a node which has one child only
- Deleting a node which has a right child only
- Deleting a node which has a left child only

- Deleting a node with two children

Look at each of these in detail:

### 1. Deleting an empty tree

If the given starting node is `null`

, then do nothing and return `False`

. This is an edge case for error handling.

### 2. Deleting a leaf node

When the node to be deleted is a leaf node in a binary search tree, you will simply free the space taken by that leaf node. Then make the parent node’s left or right child (whichever one the leaf node was) `null`

. Have a look at the following example for a demonstration.

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.