我试图制作这个二叉搜索树,并定义了它的递归get函数。但无论我做什么,它总是返回None。我只是一个新手...... 所以,如果解决方案是客观的或者某种东西,那么...但是请任何人告诉我为什么它没有返回任何价值...... ???
def get(self,key):
if self.root:
res = self._get(key,self.root)
if res:
return res.payload
else:
return None
else:
return None
def _get(self,key,currentnode):
if not currentnode:
return None
elif currentnode.key==key:
return currentnode
elif key<currentnode.key:
self._get(key,currentnode.leftchild)
else:
self._get(key,currentnode.rightchild)
我在每个节点使用一个dict,键是比较参数......
答案 0 :(得分:1)
替换以下行:
elif key<currentnode.key:
self._get(key,currentnode.leftchild)
else:
self._get(key,currentnode.rightchild)
使用:
elif key<currentnode.key:
return self._get(key,currentnode.leftchild)
else:
return self._get(key,currentnode.rightchild)