gpt4 book ai didi

python - 我必须使用另一个变量名才能运行代码的原因是什么?

转载 作者:行者123 更新时间:2023-11-30 23:03:54 24 4
gpt4 key购买 nike

我是一个Python新手-.-以下代码是我在leetcode上写的:

def postorderTraversal(self, root):
"""
:type root: TreeNode
:rtype: List[int]
"""
result, stack, current, last_traversed = [], [], root, None
while stack or current:
if current:
stack.append(current)
current = current.left
else:
parent = stack[-1]
if parent.right in (None, last_traversed):
result.append(parent.val)
last_traversed = stack.pop()
else:
current = parent.right
return result

它显然有效,但我曾经用当前替换所有parent,并且程序给出了“超出时间限制”的结果。

我想知道为什么我不能在整个代码中简单地使用 current 。为什么我必须为父节点创建另一个变量?

最佳答案

在以 ifparent.right 开头的分支中,已设置 parent,但未设置 current。因此,如果将其替换为current,则行为会有所不同。

关于python - 我必须使用另一个变量名才能运行代码的原因是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33924059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com