Learn Tree Traversal by Building a Binary Search Tree - Step 27

Please help. To my untrained programming eye my delete method is calling the _delete method with the two arguments self.root and key . But my code does not pass. I have tried different indentation levels still the code does not pass. I have checked if someone else has had this problem. No one. Please help

class TreeNode:
    def __init__(self, key):
        self.key = key
        self.left = None
        self.right = None

class BinarySearchTree:
    def __init__(self):
        self.root = None

    def insert(self,key):
        self.root = self._insert(self.root, key)

    def _insert(self, node, key):
        if node is None:
            return TreeNode(key)
        if key < node.key:
            node.left = self._insert(node.left, key)
        elif key > node.key:
            node.right = self._insert(node.right, key)
        return node

    def search(self, key):
        return self._search(self.root, key)

    def _search(self, node, key):
        if node is None or node.key == key:
            return node
        if key < node.key:
            return self._search(node.left, key)
        return self._search(node.right, key)


# User Editable Region

    def delete(self, key):
         _delete(self.root, key)
         pass

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36

Challenge Information:

Learn Tree Traversal by Building a Binary Search Tree - Step 27

Hey Zack, you should use self to call _delete, as you did with other method calls.

1 Like

Hey @Dario_DC . Thank you. My code passed.

1 Like

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.