擅长:python、mysql、java
<p>递归函数是一个调用自身的函数。<code>maxDepth</code>是一个绑定到树的当前节点(根)并返回其深度的函数。你知道吗</p>
<p>在您的例子中,您正在检查根是否有左叶或/和右叶,并调用它们各自的<code>maxDepth</code>函数,每次都深入到树中一层。你知道吗</p>
<p>一旦你到达了最底层(元素4、-4或18),你的根就没有了,这意味着你到达了树的最深处。最深元素的深度是0,因此我们有以下代码。你知道吗</p>
<pre><code> if root is None:
return 0
</code></pre>
<p>现在,一旦返回这个函数,返回值就会传递给调用者,即上一个节点。这意味着(4)将把它的值返回到(3),然后返回到(2),最后返回到(5)。你知道吗</p>
<p>每次返回值时,我们都会在再次返回之前向其添加+1</p>
<pre><code>if lDepth > rDepth:
return lDepth+1
else:
return rDepth+1
</code></pre>
<p>因此(4)将返回0,(3):1,(2):2,(5):3</p>