Python中存储TreeNode与整数元组到队列后解包失败的问题求助
Python中存储TreeNode与整数元组到队列后解包失败的问题求助
我现在在Python里实现一个算法,需要以FIFO的方式给树添加和弹出节点。我初始化了一个空列表当队列,还有一个标准的TreeNode节点(带有val、left和right属性):
queue = [] # empty list root = TreeNode() # a standard TreeNode with val, left and right
我想把root节点和一个整数一起存在队列里,于是这么写:
queue.append((root,0))
之后我尝试弹出并解包:
n,l = queue.pop(0)
结果却遇到了这个错误:
TypeError: cannot unpack non-iterable TreeNode object ^^^ n,l = queue.pop(0)
我单独测试过只存root节点的情况,弹出和解包都是正常的,问题应该出在加了整数之后,我猜是不是自己的语法写错了?我还试过这几种写法:
queue.append(((root,0)))queue.append(Tuple((root,0)))queue.append([(root,0)])—— 这个直接报了ValueError: not enough values to unpack (expected 2, got 1)
但这些方法都不管用,有没有大佬能帮忙看看问题出在哪呀?
更新:按照要求,我把相关代码贴出来:
# Definition for a binary tree node. # class TreeNode: # def __init__(...): # self.val = val # self.left = None # self.right = None
备注:内容来源于stack exchange,提问作者user13079354
相关产品推荐
相关产品推荐

