String 遍历字符串表示法
我正在进行顺序遍历,我很难创建一个递归的顺序树遍历,其中一个字符串看起来像这样[1,2,3]。相反,我得到了这样的东西[1,2,3,]。我不知道如何去掉3后面多余的逗号String 遍历字符串表示法,string,binary-tree,traversal,tree-traversal,inorder,String,Binary Tree,Traversal,Tree Traversal,Inorder,我正在进行顺序遍历,我很难创建一个递归的顺序树遍历,其中一个字符串看起来像这样[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):
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
使用切片
>>> a = "[1,2,3,]"
>>> a[0:len(a)-2]+a[len(a)-1]
'[1,2,3]'
这不是一个列表,尽管它是一个字符串。我的示例也是针对字符串的。由于字符串是一个字符元组,所以切片的工作方式与字符串的工作方式相同。我不认为我理解您的意思,也不知道如何将其合并到我的代码中?在u_顺序方法中返回rep[0:len(rep)-1]这不起作用。如果返回rep[0:len(rep)-1],则得到[1,2,3]