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

Tell us what’s happening:

I’m trying to do step 24 and I think the solution is correct and I’m checking to see if I was wrong, but I see that several people are coming to the same conclusion as me.
It’s probably a silly mistake that I don’t see, but I can’t get past it.
I’m leaving my code to see if someone can help me, what am I not seeing.

Your code so far


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, 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 insert(self, key):
        self.root = self._insert(self.root, key)
        

# User Editable Region

    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)
    
    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)
    def search(self, key):
        return self._search(self.root, key)

# User Editable Region

Your browser information:

User Agent is: Mozilla/5.0 (X11; Linux x86_64; rv:132.0) Gecko/20100101 Firefox/132.0

Challenge Information:

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

There really isn’t anything wrong with your code (other than being it copied twice). Test is not expecting the return, returning the result of call is actually done in the next step.