+8 投票
分类:学习问题 | 用户: 10 10 7 (8.0k 分)

我的代码:

    def _subprer(self,p):
        if self.left(p) is not None:
            for zuo in  self._subprer(self.left(p)):
                yield zuo
        yield p
        if self.right(p) is not None:
            for you in self._subprer(self.right(p)):
                yield you
    def inorder(self):
        if not self.is_empty():
            for p in self._subprer(self.root()):
                yield p
exprTree = LinkedBinaryTree()
# 省去实例化的过程
for i in exprTree.inorder():
    print(i.element(),end='')
正确代码:
    def _subprer(self,p):
    def inorder(self):
    def positions(self):
        return self.inorder()
exprTree = LinkedBinaryTree()
for item in exprTree.positions():
    print(item.element(),end='')

2 个回答

+2 投票
用户: 10 10 9 (8.6k 分)
采纳于 用户:
 
已采纳
我记得后面的代码只是在positions里面设置了二叉树遍历的默认方法,毕竟对于二叉树来说中序遍历可能用的比较多吧。
用户: 10 10 7 (8.0k 分)
修改于 用户:
但是前一种方法是错误的,后一种是正确的,这是为什么?
用户: 10 10 9 (8.6k 分)
有没有可能是其他地方错了,这两种方法我实操之后都是对的
0 投票
用户: 10 9 8 (5.7k 分)
请问具体有什么错误呢,这两者看起来输出应该是一样的
欢迎来到 在线问答系统 ,有什么不懂的可以尽管在这里提问,你将会收到社区其他成员的回答。
...