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

问题描述 投票:2回答:1

例子:我的树有这样的元素: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())
python-3.x tree binary-tree
1个回答
2
投票

只需在你的打印中添加end =“”()

def walk(self,x):
    if x!=None:
        self.walk(x.getLeft())
        print(x.getData(), end="")
        self.walk(x.getRight())
© www.soinside.com 2019 - 2024. All rights reserved.