我正在二叉搜索树中搜索值,但是该函数不断返回None,并且该函数成功查找/未找到该值

class BinaryTree():

    def __init__(self, value):
        self.left = None
        self.right = None
        self.value = value

    def find(self, valueToFind, parent, vist_counter=0):
       if parent is None:
           return valueToFind, -1
           vist_counter += 1
       if parent.value == valueToFind:
           return valueToFind, vist_counter
       if valueToFind <= parent.value:
            self.find(valueToFind, parent.left, vist_counter)
       elif valueToFind > parent.value:
           self.find(valueToFind, parent.right, vist_counter)

最佳答案

您的代码不清楚。但是,据我了解,您应该在最后两个语句上返回函数调用。

return self.find(valueToFind, parent.left, vist_counter)

09-27 08:45