python实现二叉树翻转_如何从左到右反转二叉树?

如何为使用引用引用子树的BinaryTree类编写反向(self)方法?在def __init__(self, value, l = None, r = None) :

self.data = value

self.left = l

self.right = r

def insert_left(self, value) :

self.left = BinaryTree(value, l = self.left)

def insert_right(self, value) :

self.right = BinaryTree(value, l = self.right)

def set_value(self, value) :

self.data = value

def get_value(self) :

return self.data

def get_left_subtree(self) :

return self.left

def get_right_subtree(self) :

return self.right

def create_string(self, indent) :

info = str(self.data) + '---+'

if self.left :

info += '\n(l)' + indent + self.left.create_string(indent + ' ')

if self.right :

info += '\n(r)' + indent + self.right.create_string(indent + ' ')

return info

def __str__(self) :

representation = self.create_string(" ")

return representation

def reverse(self) :

# reverse(self)

# ===============

# always returns a copy of the tree with the following changes:

# if self has no subtrees then no side-effects

# if self has only one subtree

# then reverses that subtree

# and moves it to the other side

# else reverses both subtrees

# and swaps the two reversed subtrees

#

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值