我当前的代码打印出额外的 7。我只想打印出一个数字而不是额外的一个。我知道这段代码看起来很简单,但我似乎无法弄清楚如何停止打印重复数字。寻求有关如何更正代码的建议。这是代码示例。
def _insert(self, data, node):
if data < node.data:
# The data belongs on the left side.
if node.left is None:
# We found an empty spot
node.left = BST.Node(data)
else:
# Need to keep looking. Call _insert
# recursively on the left sub-tree.
# if delete self._insert(data, node.left) will not print out 1
self._insert(data, node.left)
# Remove else: would cause the code to become disordered.
else:
# The data belongs on the right side.
if node.right is None:
# We found an empty spot
node.right = BST.Node(data)
else:
# Need to keep looking. Call _insert
# recursively on the right sub-tree.
# Remove code below will not print out 10
self._insert(data, node.right)
我尝试删除两行代码,希望它能停止程序中的重复。
self._insert(data, node.right)
self._insert(data, node.left)
我读了这篇文章,希望能把它添加到我的程序中 https://www.geeksforgeeks.org/how-to-handle-duplicates-in-binary-search-tree/