python 二叉树递归时明明已经得到了结果,但是返回None

得到二叉树的最小值时,原来的代码是:

def get_min_node(node: AVLTreeNode):
    temp_node = node
    if temp_node.left is not None:
        get_min_node(temp_node.left)
    else:
        return temp_node

# test
min_node = get_min_node(root)

但是调试时明明 reture temp_node 的时候已经有了正确结果,但是 min_node 数据类型是 NoneType

这里的原因是函数内递归时是没有返回值的,因此改为:

def get_min_node(node: AVLTreeNode):
    temp_node = node
    if temp_node.left is not None:
        return get_min_node(temp_node.left)
    else:
        return temp_node

这样就可以得到正确答案了

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 书香水墨 设计师: CSDN官方博客
应支付0元
点击重新获取
扫码支付

支付成功即可阅读