【问题标题】:Traversal String Representation遍历字符串表示
【发布时间】:2018-04-22 03:18:16
【问题描述】:

我正在进行有序遍历,但在创建递归有序树遍历时遇到了困难,其中字符串看起来像这样 [1, 2, 3]。相反,我得到类似 [1, 2, 3, ] 的东西。我不知道如何去掉 3 之后的那个多余的逗号。

def inorder(self):
    if self.__root == None:
        return '[ ]'
    else:
        return '[ ' + self.__inorder(self.__root) + ']'

def __inorder(self, root):
    rep = ''
    if root != None:
        rep = self.__inorder(root.leftC) + str(root.value)  + ', ' +  self.__inorder(root.rightC)
    return rep

【问题讨论】:

    标签: string binary-tree traversal tree-traversal inorder


    【解决方案1】:

    使用切片

    >>> a = "[1,2,3,]"
    >>> a[0:len(a)-2]+a[len(a)-1]
    '[1,2,3]'
    

    【讨论】:

    • 这不是一个列表,虽然它是一个字符串
    • 我的例子也适用于字符串。切片对 String 的工作方式相同,因为 String 是一个字符元组
    • 我想我不明白您的意思或我将如何将其合并到我的代码中?
    • 在 __inorder 方法中返回 rep[0:len(rep)-1]
    • 这不起作用。如果我返回 rep[0:len(rep)-1] 那么我得到 [ 1,2, 3]
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-15
    • 1970-01-01
    • 2014-09-19
    • 1970-01-01
    相关资源
    最近更新 更多