class RootNode:
def init(self, val):
self.val = val
self.left = None # 定义左子节点
self.right = None # 定义右子节点
self.is_root = True
这里括号里不应该加上left和right吗?
二叉树根节点类的定义问题
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
3条回答 默认 最新
NoEatMe 2023-03-28 20:17关注可以不加,不加就只能通过手动赋左右节点,不能在定义的时候直接给了。
不加的情况:class RootNode: def __init__(self, val): self.val = val self.left = None self.right = None root = RootNode(0) left = RootNode(1) right = RootNode(2) root.left, root.right = left, right print(root.left.val, root.right.val) # 1 2加的情况:
class RootNode: def __init__(self, val, left=None, right=None): self.val = val self.left = left self.right = right root = RootNode(0, RootNode(1), RootNode(2)) print(root.left.val, root.right.val) # 1 2本回答被题主选为最佳回答 , 对您是否有帮助呢?评论 打赏 举报解决 1无用