在一行中打印二叉树的最佳方法?

时间:2017-12-22 17:42:22

标签: python-3.x tree binary-tree

例: 我的树有这个元素:123,234,345,456 我的metod正在打印这个:

123 
234
345
456

我想要123 234 345 456 我的代码如下:

def walk(self,x):
    if x!=None:
        self.walk(x.getLeft())
        print(x.getData())
        self.walk(x.getRight())

我找到了办法:

 def __init__(self,s=None):
    self._root=None
    self._s=''

  def getS(self):
    return self._s

  def setS(self,s):
    self._s=s

  def walk(self,x):
    if x!=None:
        self.walk(x.getLeft())
        if self.getS()=="":
            s=str(x.getData())
            self.setS(str(self.getS())+s)
        else:
            s=" "+str(x.getData())
            self.setS(str(self.getS())+s)
        self.walk(x.getRight())

只需打印:

 print(t.getS())

1 个答案:

答案 0 :(得分:2)

只需添加end =""在你的print()

def walk(self,x):
    if x!=None:
        self.walk(x.getLeft())
        print(x.getData(), end="")
        self.walk(x.getRight())