我有这样的代码:

def recursionTravel(node, returnArr = []):
    if node:
        returnArr.append(node.data)
        if node.left: returnArr.append(recursionTravel(node.left, returnArr))
        if node.right: returnArr.append(recursionTravel(node.right, returnArr))
    return node.data

# Pre-order traversal
def pre_order(node):
    output = []
    if node:
        output.append(node.data)
        if node.left: output.append(recursionTravel(node.left))
        if node.right: output.append(recursionTravel(node.right))
    return output

二叉树由 node :[5, 10, 2, 'leaf']组成 输出应相同:[5, 10, 2, 'leaf']

问题:返回中缺少最后一个元素.返回值:[5, 10, 2]

推荐答案

只需更改reusiveTravel的最后一行.

def RecusiveTravel(node, returnArr[]):
  if node:
    returnArr.append(node.data)
    if node.left: returnArr.append(recursionTravel(node.left, returnArr))
    if node.right: returnArr.append(recursionTravel(node.right, returnArr))
    return returnArr

不需要预购功能.只需从递归函数调用它.应该能行得通.

Python相关问答推荐

决策树分类器的基础sklearn熵和log_loss标准是否有差异?

在IIS中运行的FastAPI-获取权限错误:[Win错误10013]试图以其访问权限禁止的方式访问插槽

如何循环循环的每个元素并过滤掉Python rame中的条件

如何从维基百科的摘要部分/链接列表中抓取链接?

回归回溯-2D数组中的单词搜索

如何在telegram 机器人中发送音频?

键盘.任务组

如何从格式为note:{neighbor:weight}的字典中构建networkx图?

Django注释:将时差转换为小数或小数

按 struct 值对Polars列表[struct[]]排序

了解shuffle在NP.random.Generator.choice()中的作用

查找下一个值=实际值加上使用极点的50%

在上下文管理器中更改异常类型

在Pandas 日历中插入一行

Matlab中是否有Python的f-字符串等效物

Pandas 有条件轮班操作

如何调整QscrollArea以正确显示内部正在变化的Qgridlayout?

可以bcrypts AES—256 GCM加密损坏ZIP文件吗?

在代码执行后关闭ChromeDriver窗口

如何获取Python synsets列表的第一个内容?