以下是LeetCode
中ListNote
类的定义:
class ListNode(object):
def __init__(self, x):
self.val = x
self.next = None
对于代码:
^{pr2}$注释中的值来自我的猜测。我听不懂这个步骤
result_tail = result_tail.next
有点像 谁能告诉我这里的逻辑吗?在result_tail = result
是通过引用传递的,所以当result_tail
变成{result
也应该变成{result
仍然保留{result_tail = result_tail.next
result_tail = result.next.next
简单的回答是,Python是一种传递对象引用语言,而不是问题中暗示的通过引用传递。这意味着:
result
和{result_tail.next = ListNode(1)
)的突变/变化将影响result
所显示的值result_tail
分配/指向另一个值不会影响result
的值result_tail = result_tail.next
正在分配当前由变量分配的节点的下一个节点下面是分配给变量(
r
=result
,rt
=result_tail
)的值的可视化:附加阅读参考:
相关问题 更多 >
编程相关推荐