如何将两个参数项附加到堆栈中(Python3)

时间:2018-12-15 17:28:02

标签: python python-3.x stack binary-tree

因此,我目前正在实践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被如何对待以及其背后的逻辑是什么?

0 个答案:

没有答案