因此,我目前正在实践DFS和BFS二进制树方法,并且对于如何将多个参数传递到下面的.append
语句中感到困惑。我知道.append
只能接受一个参数,并且将这些参数封装在括号中时会被视为是这样,但是封装它们意味着什么呢?
class Solution:
def maxDepth(self, root):
"""
:type root: TreeNode
:rtype: int
"""
stack = []
if root is not None:
stack.append((1, root)) # <---- Here
depth = 0
while stack != []:
current_depth, root = stack.pop()
if root is not None:
depth = max(depth, current_depth)
stack.append((current_depth + 1, root.left)) # <---- Here
stack.append((current_depth + 1, root.right)) # <---- Here
return depth
重申一下,.append((arg1, arg2))
是什么意思?那些args
被如何对待以及其背后的逻辑是什么?