Python自定义类实现二叉树翻转功能未生效问题咨询
二叉树翻转失败原因及修复方案
核心错误
你代码中Operation类的invertTree方法里,交换左右子节点的语句误用了比较运算符:
# 错误写法,==是比较运算符,仅返回布尔值,不会执行赋值 root.left, root.right==root.right, root.left
这行代码没有对root.left和root.right做任何修改,所以树的结构完全没有变化,两次打印结果一致。
修复方案
把双等号==替换为赋值运算符=即可:
# 正确写法 root.left, root.right = root.right, root.left
修复后的完整invertTree方法参考
def invertTree(self,root): if root: root.left, root.right = root.right, root.left self.invertTree(root.left) self.invertTree(root.right) return root
修改后运行代码,两次show_tree的输出会完全倒序,证明二叉树翻转成功。
内容的提问来源于stack exchange,提问作者Ashish Kumar
相关产品推荐
相关产品推荐

