mirror of
https://github.com/krahets/hello-algo.git
synced 2026-07-13 15:56:05 +00:00
deploy
This commit is contained in:
@@ -4207,7 +4207,7 @@
|
||||
<a id="__codelineno-17-40" name="__codelineno-17-40" href="#__codelineno-17-40"></a> <span class="kd">func</span> <span class="nf">levelOrder</span><span class="p">()</span> <span class="p">-></span> <span class="p">[</span><span class="nb">Int</span><span class="p">]</span> <span class="p">{</span>
|
||||
<a id="__codelineno-17-41" name="__codelineno-17-41" href="#__codelineno-17-41"></a> <span class="kd">var</span> <span class="nv">res</span><span class="p">:</span> <span class="p">[</span><span class="nb">Int</span><span class="p">]</span> <span class="p">=</span> <span class="p">[]</span>
|
||||
<a id="__codelineno-17-42" name="__codelineno-17-42" href="#__codelineno-17-42"></a> <span class="c1">// 直接遍历数组</span>
|
||||
<a id="__codelineno-17-43" name="__codelineno-17-43" href="#__codelineno-17-43"></a> <span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="bp">stride</span><span class="p">(</span><span class="n">from</span><span class="p">:</span> <span class="mi">0</span><span class="p">,</span> <span class="n">to</span><span class="p">:</span> <span class="n">size</span><span class="p">(),</span> <span class="n">by</span><span class="p">:</span> <span class="mi">1</span><span class="p">)</span> <span class="p">{</span>
|
||||
<a id="__codelineno-17-43" name="__codelineno-17-43" href="#__codelineno-17-43"></a> <span class="k">for</span> <span class="n">i</span> <span class="k">in</span> <span class="mi">0</span> <span class="p">..</span><span class="o"><</span> <span class="n">size</span><span class="p">()</span> <span class="p">{</span>
|
||||
<a id="__codelineno-17-44" name="__codelineno-17-44" href="#__codelineno-17-44"></a> <span class="k">if</span> <span class="kd">let</span> <span class="nv">val</span> <span class="p">=</span> <span class="n">val</span><span class="p">(</span><span class="n">i</span><span class="p">:</span> <span class="n">i</span><span class="p">)</span> <span class="p">{</span>
|
||||
<a id="__codelineno-17-45" name="__codelineno-17-45" href="#__codelineno-17-45"></a> <span class="n">res</span><span class="p">.</span><span class="n">append</span><span class="p">(</span><span class="n">val</span><span class="p">)</span>
|
||||
<a id="__codelineno-17-46" name="__codelineno-17-46" href="#__codelineno-17-46"></a> <span class="p">}</span>
|
||||
|
||||
@@ -4119,7 +4119,7 @@
|
||||
<div class="highlight"><span class="filename">avl_tree.swift</span><pre><span></span><code><a id="__codelineno-17-1" name="__codelineno-17-1" href="#__codelineno-17-1"></a><span class="cm">/* 获取节点高度 */</span>
|
||||
<a id="__codelineno-17-2" name="__codelineno-17-2" href="#__codelineno-17-2"></a><span class="kd">func</span> <span class="nf">height</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">TreeNode</span><span class="p">?)</span> <span class="p">-></span> <span class="nb">Int</span> <span class="p">{</span>
|
||||
<a id="__codelineno-17-3" name="__codelineno-17-3" href="#__codelineno-17-3"></a> <span class="c1">// 空节点高度为 -1 ,叶节点高度为 0</span>
|
||||
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="n">node</span> <span class="p">==</span> <span class="kc">nil</span> <span class="p">?</span> <span class="o">-</span><span class="mi">1</span> <span class="p">:</span> <span class="n">node</span><span class="p">!.</span><span class="n">height</span>
|
||||
<a id="__codelineno-17-4" name="__codelineno-17-4" href="#__codelineno-17-4"></a> <span class="n">node</span><span class="p">?.</span><span class="n">height</span> <span class="p">??</span> <span class="o">-</span><span class="mi">1</span>
|
||||
<a id="__codelineno-17-5" name="__codelineno-17-5" href="#__codelineno-17-5"></a><span class="p">}</span>
|
||||
<a id="__codelineno-17-6" name="__codelineno-17-6" href="#__codelineno-17-6"></a>
|
||||
<a id="__codelineno-17-7" name="__codelineno-17-7" href="#__codelineno-17-7"></a><span class="cm">/* 更新节点高度 */</span>
|
||||
@@ -5824,7 +5824,7 @@
|
||||
<a id="__codelineno-89-16" name="__codelineno-89-16" href="#__codelineno-89-16"></a> <span class="n">node</span><span class="p">?.</span><span class="kr">right</span> <span class="p">=</span> <span class="n">removeHelper</span><span class="p">(</span><span class="n">node</span><span class="p">:</span> <span class="n">node</span><span class="p">?.</span><span class="kr">right</span><span class="p">,</span> <span class="n">val</span><span class="p">:</span> <span class="n">val</span><span class="p">)</span>
|
||||
<a id="__codelineno-89-17" name="__codelineno-89-17" href="#__codelineno-89-17"></a> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span>
|
||||
<a id="__codelineno-89-18" name="__codelineno-89-18" href="#__codelineno-89-18"></a> <span class="k">if</span> <span class="n">node</span><span class="p">?.</span><span class="kr">left</span> <span class="p">==</span> <span class="kc">nil</span> <span class="o">||</span> <span class="n">node</span><span class="p">?.</span><span class="kr">right</span> <span class="p">==</span> <span class="kc">nil</span> <span class="p">{</span>
|
||||
<a id="__codelineno-89-19" name="__codelineno-89-19" href="#__codelineno-89-19"></a> <span class="kd">let</span> <span class="nv">child</span> <span class="p">=</span> <span class="n">node</span><span class="p">?.</span><span class="kr">left</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">?</span> <span class="n">node</span><span class="p">?.</span><span class="kr">left</span> <span class="p">:</span> <span class="n">node</span><span class="p">?.</span><span class="kr">right</span>
|
||||
<a id="__codelineno-89-19" name="__codelineno-89-19" href="#__codelineno-89-19"></a> <span class="kd">let</span> <span class="nv">child</span> <span class="p">=</span> <span class="n">node</span><span class="p">?.</span><span class="kr">left</span> <span class="p">??</span> <span class="n">node</span><span class="p">?.</span><span class="kr">right</span>
|
||||
<a id="__codelineno-89-20" name="__codelineno-89-20" href="#__codelineno-89-20"></a> <span class="c1">// 子节点数量 = 0 ,直接删除 node 并返回</span>
|
||||
<a id="__codelineno-89-21" name="__codelineno-89-21" href="#__codelineno-89-21"></a> <span class="k">if</span> <span class="n">child</span> <span class="p">==</span> <span class="kc">nil</span> <span class="p">{</span>
|
||||
<a id="__codelineno-89-22" name="__codelineno-89-22" href="#__codelineno-89-22"></a> <span class="k">return</span> <span class="kc">nil</span>
|
||||
|
||||
@@ -4747,7 +4747,7 @@
|
||||
<a id="__codelineno-29-29" name="__codelineno-29-29" href="#__codelineno-29-29"></a> <span class="c1">// 子节点数量 = 0 or 1</span>
|
||||
<a id="__codelineno-29-30" name="__codelineno-29-30" href="#__codelineno-29-30"></a> <span class="k">if</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">left</span> <span class="p">==</span> <span class="kc">nil</span> <span class="o">||</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">right</span> <span class="p">==</span> <span class="kc">nil</span> <span class="p">{</span>
|
||||
<a id="__codelineno-29-31" name="__codelineno-29-31" href="#__codelineno-29-31"></a> <span class="c1">// 当子节点数量 = 0 / 1 时, child = null / 该子节点</span>
|
||||
<a id="__codelineno-29-32" name="__codelineno-29-32" href="#__codelineno-29-32"></a> <span class="kd">let</span> <span class="nv">child</span> <span class="p">=</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">left</span> <span class="o">!=</span> <span class="kc">nil</span> <span class="p">?</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">left</span> <span class="p">:</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">right</span>
|
||||
<a id="__codelineno-29-32" name="__codelineno-29-32" href="#__codelineno-29-32"></a> <span class="kd">let</span> <span class="nv">child</span> <span class="p">=</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">left</span> <span class="p">??</span> <span class="n">cur</span><span class="p">?.</span><span class="kr">right</span>
|
||||
<a id="__codelineno-29-33" name="__codelineno-29-33" href="#__codelineno-29-33"></a> <span class="c1">// 删除节点 cur</span>
|
||||
<a id="__codelineno-29-34" name="__codelineno-29-34" href="#__codelineno-29-34"></a> <span class="k">if</span> <span class="n">cur</span> <span class="o">!==</span> <span class="n">root</span> <span class="p">{</span>
|
||||
<a id="__codelineno-29-35" name="__codelineno-29-35" href="#__codelineno-29-35"></a> <span class="k">if</span> <span class="n">pre</span><span class="p">?.</span><span class="kr">left</span> <span class="p">===</span> <span class="n">cur</span> <span class="p">{</span>
|
||||
|
||||
Reference in New Issue
Block a user