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

Tell us what’s happening:

Why is it not “self.node.left” on the left side of that assignment operator? I’m having trouble figuring out when to use “self” and when not to.
node.left = self._insert(node.left, key)

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


# User Editable Region

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


# 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/131.0.0.0 Safari/537.36

Challenge Information:

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

Welcome to the forum @hboGYT

Here is a comparison of the original code and your code.

The code in blue is the original code, the code in red is your code.
The code in magenta is the overlap.

You appear to have removed the elif statement.
Please reset the step to restore the seed code and try again.

Happy coding

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