擅长:python、mysql、java
<p>您所做的是使用内部函数,这与类继承不同。另一个非常类似的假设是:</p>
<p><a href="https://stackoverflow.com/questions/5218895/python-nested-functions-variable-scoping">Python nested functions variable scoping</a></p>
<p>这个问题的答案是:</p>
<blockquote>
<p>" The documentation about Scopes and Namespaces says this:</p>
<p>A special quirk of Python is that – if no global statement is in effect – assignments to names always go into the innermost scope. Assignments do not copy data — they just bind names to objects.</p>
</blockquote>
<p>这意味着您可以用<code>global</code>或<code>nonlocal</code>语句来解决错误</p>
<pre><code>def find_kth_largest_bst(root, k):
global count
count = 0
def _find_kth_largest_bst(root, k):
if not root:
return None
_find_kth_largest_bst(root.right, k)
count += 1 #unresolved error here??
pass
</code></pre>
<p>这里的另一件事是<code>count = 0</code>有双制表符或8个空格,而它应该只有一个</p>