You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

初始化二叉树后打印出现None值,如何解决?

解决二叉树打印时输出None的问题

你的代码里,递归调用tree(root.left)和tree(root.right)时用了print()包裹,但tree函数的返回值是None,所以每次递归结束都会打印这个返回值,导致输出里出现一堆None。

只需要调整递归调用的方式,去掉不必要的print即可,修改后的代码如下:

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

def tree(root):
    if root is not None:
        print(root.value, end=' ')  # 用end=' '让结果在一行显示为"1 2 3",不需要的话可以去掉这个参数
        tree(root.left)
        tree(root.right)

root = TreeNode(1)
root.left = TreeNode(2)
root.right = TreeNode(3)

tree(root)

改动说明:

  • 去掉了print(tree(root.left))和print(tree(root.right))里的print,直接调用递归函数,避免打印函数返回的None
  • 给print添加end=' '参数,让所有节点值在同一行输出,符合你想要的1 2 3格式;如果需要每个值单独换行,删掉这个参数即可

内容的提问来源于stack exchange,提问作者Reactoo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 20:39:19