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

Python二叉树中序遍历报错:int对象无left属性原因排查

错误原因

你触发这个报错的核心是递归调用in_order方法时传入的参数类型不符合预期:
你的in_order方法第一个参数要求传入TreeNode类型的节点对象,但在递归调用时你写的是:

self.in_order(tree.left.val, result)
self.in_order(tree.right.val, result)

这里tree.left.val和tree.right.val都是节点存储的数值,属于int类型,你把这个int值当成节点对象传给了下一层in_order方法。当下一层方法执行到if tree.left:时,此时的tree已经是int类型,自然没有left属性,就抛出了对应的AttributeError。

你最初传入的根节点p确实是TreeNode类型,并没有被解释器自动转换为int,报错的变量是递归调用时你主动传入的int类型的节点值,不是最初的p参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 09:36:09