@@ -76177,7 +76177,7 @@ <h3 id="solution-1">Solution 1</h3>
76177
76177
<!-- solution:start -->
76178
76178
76179
76179
<h3 id="solution-2">Solution 2</h3>
76180
- <div class="tabbed-set tabbed-alternate" data-tabs="2:5 "><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><input id="__tabbed_2_3" name="__tabbed_2" type="radio" /><input id="__tabbed_2_4" name="__tabbed_2" type="radio" /><input id="__tabbed_2_5" name="__tabbed_2" type="radio" /><div class="tabbed-labels"><label for="__tabbed_2_1">Python3</label><label for="__tabbed_2_2">Java</label><label for="__tabbed_2_3">C++</label><label for="__tabbed_2_4">Go</label><label for="__tabbed_2_5">JavaScript</label></div>
76180
+ <div class="tabbed-set tabbed-alternate" data-tabs="2:6 "><input checked="checked" id="__tabbed_2_1" name="__tabbed_2" type="radio" /><input id="__tabbed_2_2" name="__tabbed_2" type="radio" /><input id="__tabbed_2_3" name="__tabbed_2" type="radio" /><input id="__tabbed_2_4" name="__tabbed_2" type="radio" /><input id="__tabbed_2_5" name="__tabbed_2" type="radio" /><input id="__tabbed_2_6" name="__tabbed_2" type="radio" />< div class="tabbed-labels"><label for="__tabbed_2_1">Python3</label><label for="__tabbed_2_2">Java</label><label for="__tabbed_2_3">C++</label><label for="__tabbed_2_4">Go</label><label for="__tabbed_2_5">JavaScript</label><label for="__tabbed_2_6">TypeScript </label></div>
76181
76181
<div class="tabbed-content">
76182
76182
<div class="tabbed-block">
76183
76183
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -76467,6 +76467,84 @@ <h3 id="solution-2">Solution 2</h3>
76467
76467
<span class="p">};</span>
76468
76468
</code></pre></div></td></tr></table></div>
76469
76469
</div>
76470
+ <div class="tabbed-block">
76471
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
76472
+ <span class="normal"> 2</span>
76473
+ <span class="normal"> 3</span>
76474
+ <span class="normal"> 4</span>
76475
+ <span class="normal"> 5</span>
76476
+ <span class="normal"> 6</span>
76477
+ <span class="normal"> 7</span>
76478
+ <span class="normal"> 8</span>
76479
+ <span class="normal"> 9</span>
76480
+ <span class="normal">10</span>
76481
+ <span class="normal">11</span>
76482
+ <span class="normal">12</span>
76483
+ <span class="normal">13</span>
76484
+ <span class="normal">14</span>
76485
+ <span class="normal">15</span>
76486
+ <span class="normal">16</span>
76487
+ <span class="normal">17</span>
76488
+ <span class="normal">18</span>
76489
+ <span class="normal">19</span>
76490
+ <span class="normal">20</span>
76491
+ <span class="normal">21</span>
76492
+ <span class="normal">22</span>
76493
+ <span class="normal">23</span>
76494
+ <span class="normal">24</span>
76495
+ <span class="normal">25</span>
76496
+ <span class="normal">26</span>
76497
+ <span class="normal">27</span>
76498
+ <span class="normal">28</span>
76499
+ <span class="normal">29</span>
76500
+ <span class="normal">30</span>
76501
+ <span class="normal">31</span>
76502
+ <span class="normal">32</span>
76503
+ <span class="normal">33</span>
76504
+ <span class="normal">34</span>
76505
+ <span class="normal">35</span>
76506
+ <span class="normal">36</span>
76507
+ <span class="normal">37</span>
76508
+ <span class="normal">38</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
76509
+ <span class="cm"> * Definition for a binary tree node.</span>
76510
+ <span class="cm"> * class TreeNode {</span>
76511
+ <span class="cm"> * val: number</span>
76512
+ <span class="cm"> * left: TreeNode | null</span>
76513
+ <span class="cm"> * right: TreeNode | null</span>
76514
+ <span class="cm"> * constructor(val?: number, left?: TreeNode | null, right?: TreeNode | null) {</span>
76515
+ <span class="cm"> * this.val = (val===undefined ? 0 : val)</span>
76516
+ <span class="cm"> * this.left = (left===undefined ? null : left)</span>
76517
+ <span class="cm"> * this.right = (right===undefined ? null : right)</span>
76518
+ <span class="cm"> * }</span>
76519
+ <span class="cm"> * }</span>
76520
+ <span class="cm"> */</span>
76521
+ <span class="kd">function</span><span class="w"> </span><span class="nx">closestValue</span><span class="p">(</span><span class="nx">root</span><span class="o">:</span><span class="w"> </span><span class="kt">TreeNode</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="kc">null</span><span class="p">,</span><span class="w"> </span><span class="nx">target</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="w"> </span><span class="p">{</span>
76522
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">root</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nb">Number</span><span class="p">.</span><span class="kc">NaN</span><span class="p">;</span>
76523
+
76524
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mf">0</span><span class="p">;</span>
76525
+ <span class="w"> </span><span class="kd">let</span><span class="w"> </span><span class="nx">diff</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Number</span><span class="p">.</span><span class="nx">POSITIVE_INFINITY</span><span class="p">;</span>
76526
+
76527
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">dfs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">(</span><span class="nx">node</span><span class="o">:</span><span class="w"> </span><span class="kt">TreeNode</span><span class="w"> </span><span class="o">|</span><span class="w"> </span><span class="kc">null</span><span class="p">)</span><span class="o">:</span><span class="w"> </span><span class="kc">undefined</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
76528
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="nx">node</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="p">;</span>
76529
+
76530
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">next</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nb">Math</span><span class="p">.</span><span class="nx">abs</span><span class="p">(</span><span class="nx">target</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="p">);</span>
76531
+
76532
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">next</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">diff</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="p">(</span><span class="nx">next</span><span class="w"> </span><span class="o">===</span><span class="w"> </span><span class="nx">diff</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">res</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
76533
+ <span class="w"> </span><span class="nx">diff</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">next</span><span class="p">;</span>
76534
+ <span class="w"> </span><span class="nx">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="p">;</span>
76535
+ <span class="w"> </span><span class="p">}</span>
76536
+
76537
+ <span class="w"> </span><span class="nx">node</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">target</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="nx">node.left</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="kt">node.right</span><span class="p">;</span>
76538
+
76539
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">node</span><span class="p">);</span>
76540
+ <span class="w"> </span><span class="p">};</span>
76541
+
76542
+ <span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">root</span><span class="p">);</span>
76543
+
76544
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">res</span><span class="p">;</span>
76545
+ <span class="p">}</span>
76546
+ </code></pre></div></td></tr></table></div>
76547
+ </div>
76470
76548
</div>
76471
76549
</div>
76472
76550
<!-- solution:end -->
@@ -76500,6 +76578,11 @@ <h3 id="solution-2">Solution 2</h3>
76500
76578
76501
76579
<nav>
76502
76580
76581
+ <a href="https://github.com/rain84" class="md-author" title="@rain84">
76582
+
76583
+ <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
76584
+ </a>
76585
+
76503
76586
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
76504
76587
76505
76588
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments