@@ -77365,7 +77365,7 @@ <h2 id="solutions">Solutions</h2>
77365
77365
<!-- solution:start -->
77366
77366
77367
77367
<h3 id="solution-1">Solution 1</h3>
77368
- <div class="tabbed-set tabbed-alternate" data-tabs="1:4 "><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label></div>
77368
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:6 "><input checked="checked" id="__tabbed_1_1" name="__tabbed_1" type="radio" /><input id="__tabbed_1_2" name="__tabbed_1" type="radio" /><input id="__tabbed_1_3" name="__tabbed_1" type="radio" /><input id="__tabbed_1_4" name="__tabbed_1" type="radio" /><input id="__tabbed_1_5" name="__tabbed_1" type="radio" /><input id="__tabbed_1_6" name="__tabbed_1" type="radio" />< div class="tabbed-labels"><label for="__tabbed_1_1">Python3</label><label for="__tabbed_1_2">Java</label><label for="__tabbed_1_3">C++</label><label for="__tabbed_1_4">Go</label><label for="__tabbed_1_5">TypeScript</label><label for="__tabbed_1_6">JavaScript </label></div>
77369
77369
<div class="tabbed-content">
77370
77370
<div class="tabbed-block">
77371
77371
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -77689,6 +77689,164 @@ <h3 id="solution-1">Solution 1</h3>
77689
77689
<span class="p">}</span>
77690
77690
</code></pre></div></td></tr></table></div>
77691
77691
</div>
77692
+ <div class="tabbed-block">
77693
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77694
+ <span class="normal"> 2</span>
77695
+ <span class="normal"> 3</span>
77696
+ <span class="normal"> 4</span>
77697
+ <span class="normal"> 5</span>
77698
+ <span class="normal"> 6</span>
77699
+ <span class="normal"> 7</span>
77700
+ <span class="normal"> 8</span>
77701
+ <span class="normal"> 9</span>
77702
+ <span class="normal">10</span>
77703
+ <span class="normal">11</span>
77704
+ <span class="normal">12</span>
77705
+ <span class="normal">13</span>
77706
+ <span class="normal">14</span>
77707
+ <span class="normal">15</span>
77708
+ <span class="normal">16</span>
77709
+ <span class="normal">17</span>
77710
+ <span class="normal">18</span>
77711
+ <span class="normal">19</span>
77712
+ <span class="normal">20</span>
77713
+ <span class="normal">21</span>
77714
+ <span class="normal">22</span>
77715
+ <span class="normal">23</span>
77716
+ <span class="normal">24</span>
77717
+ <span class="normal">25</span>
77718
+ <span class="normal">26</span>
77719
+ <span class="normal">27</span>
77720
+ <span class="normal">28</span>
77721
+ <span class="normal">29</span>
77722
+ <span class="normal">30</span>
77723
+ <span class="normal">31</span>
77724
+ <span class="normal">32</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="kd">function</span><span class="w"> </span><span class="nx">countPairs</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">distance</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>
77725
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pairs</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
77726
+
77727
+ <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="kt">number</span><span class="p">[][]</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
77728
+ <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="w"> </span><span class="p">[];</span>
77729
+ <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="nx">left</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="nx">node</span><span class="p">.</span><span class="nx">right</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">[[</span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="p">,</span><span class="w"> </span><span class="mf">1</span><span class="p">]];</span>
77730
+
77731
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">left</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">node</span><span class="p">.</span><span class="nx">left</span><span class="p">);</span>
77732
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">right</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">node</span><span class="p">.</span><span class="nx">right</span><span class="p">);</span>
77733
+
77734
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">dx</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">left</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77735
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="nx">dy</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">right</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77736
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">dx</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">dy</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="nx">distance</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77737
+ <span class="w"> </span><span class="nx">pairs</span><span class="p">.</span><span class="nx">push</span><span class="p">([</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">]);</span>
77738
+ <span class="w"> </span><span class="p">}</span>
77739
+ <span class="w"> </span><span class="p">}</span>
77740
+ <span class="w"> </span><span class="p">}</span>
77741
+
77742
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">res</span><span class="o">:</span><span class="w"> </span><span class="kt">number</span><span class="p">[][]</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
77743
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">arr</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="p">[</span><span class="nx">left</span><span class="p">,</span><span class="w"> </span><span class="nx">right</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
77744
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">arr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77745
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">++</span><span class="nx">x</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="nx">distance</span><span class="p">)</span><span class="w"> </span><span class="nx">res</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">x</span><span class="p">);</span>
77746
+ <span class="w"> </span><span class="p">}</span>
77747
+ <span class="w"> </span><span class="p">}</span>
77748
+
77749
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">res</span><span class="p">;</span>
77750
+ <span class="w"> </span><span class="p">};</span>
77751
+
77752
+ <span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">root</span><span class="p">);</span>
77753
+
77754
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">pairs</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
77755
+ <span class="p">}</span>
77756
+ </code></pre></div></td></tr></table></div>
77757
+ </div>
77758
+ <div class="tabbed-block">
77759
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
77760
+ <span class="normal"> 2</span>
77761
+ <span class="normal"> 3</span>
77762
+ <span class="normal"> 4</span>
77763
+ <span class="normal"> 5</span>
77764
+ <span class="normal"> 6</span>
77765
+ <span class="normal"> 7</span>
77766
+ <span class="normal"> 8</span>
77767
+ <span class="normal"> 9</span>
77768
+ <span class="normal">10</span>
77769
+ <span class="normal">11</span>
77770
+ <span class="normal">12</span>
77771
+ <span class="normal">13</span>
77772
+ <span class="normal">14</span>
77773
+ <span class="normal">15</span>
77774
+ <span class="normal">16</span>
77775
+ <span class="normal">17</span>
77776
+ <span class="normal">18</span>
77777
+ <span class="normal">19</span>
77778
+ <span class="normal">20</span>
77779
+ <span class="normal">21</span>
77780
+ <span class="normal">22</span>
77781
+ <span class="normal">23</span>
77782
+ <span class="normal">24</span>
77783
+ <span class="normal">25</span>
77784
+ <span class="normal">26</span>
77785
+ <span class="normal">27</span>
77786
+ <span class="normal">28</span>
77787
+ <span class="normal">29</span>
77788
+ <span class="normal">30</span>
77789
+ <span class="normal">31</span>
77790
+ <span class="normal">32</span>
77791
+ <span class="normal">33</span>
77792
+ <span class="normal">34</span>
77793
+ <span class="normal">35</span>
77794
+ <span class="normal">36</span>
77795
+ <span class="normal">37</span>
77796
+ <span class="normal">38</span>
77797
+ <span class="normal">39</span>
77798
+ <span class="normal">40</span>
77799
+ <span class="normal">41</span>
77800
+ <span class="normal">42</span>
77801
+ <span class="normal">43</span>
77802
+ <span class="normal">44</span>
77803
+ <span class="normal">45</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="cm">/**</span>
77804
+ <span class="cm"> * Definition for a binary tree node.</span>
77805
+ <span class="cm"> * function TreeNode(val, left, right) {</span>
77806
+ <span class="cm"> * this.val = (val===undefined ? 0 : val)</span>
77807
+ <span class="cm"> * this.left = (left===undefined ? null : left)</span>
77808
+ <span class="cm"> * this.right = (right===undefined ? null : right)</span>
77809
+ <span class="cm"> * }</span>
77810
+ <span class="cm"> */</span>
77811
+ <span class="cm">/**</span>
77812
+ <span class="cm"> * @param {TreeNode} root</span>
77813
+ <span class="cm"> * @param {number} distance</span>
77814
+ <span class="cm"> * @return {number}</span>
77815
+ <span class="cm"> */</span>
77816
+ <span class="kd">var</span><span class="w"> </span><span class="nx">countPairs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="kd">function</span><span class="w"> </span><span class="p">(</span><span class="nx">root</span><span class="p">,</span><span class="w"> </span><span class="nx">distance</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77817
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">pairs</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
77818
+
77819
+ <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="nx">node</span><span class="w"> </span><span class="p">=></span><span class="w"> </span><span class="p">{</span>
77820
+ <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="w"> </span><span class="p">[];</span>
77821
+ <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="nx">left</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="o">!</span><span class="nx">node</span><span class="p">.</span><span class="nx">right</span><span class="p">)</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="p">[[</span><span class="nx">node</span><span class="p">.</span><span class="nx">val</span><span class="p">,</span><span class="w"> </span><span class="mf">1</span><span class="p">]];</span>
77822
+
77823
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">left</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">node</span><span class="p">.</span><span class="nx">left</span><span class="p">);</span>
77824
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">right</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">node</span><span class="p">.</span><span class="nx">right</span><span class="p">);</span>
77825
+
77826
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">dx</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">left</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77827
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="p">[</span><span class="nx">y</span><span class="p">,</span><span class="w"> </span><span class="nx">dy</span><span class="p">]</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">right</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77828
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="nx">dx</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="nx">dy</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="nx">distance</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77829
+ <span class="w"> </span><span class="nx">pairs</span><span class="p">.</span><span class="nx">push</span><span class="p">([</span><span class="nx">x</span><span class="p">,</span><span class="w"> </span><span class="nx">y</span><span class="p">]);</span>
77830
+ <span class="w"> </span><span class="p">}</span>
77831
+ <span class="w"> </span><span class="p">}</span>
77832
+ <span class="w"> </span><span class="p">}</span>
77833
+
77834
+ <span class="w"> </span><span class="kd">const</span><span class="w"> </span><span class="nx">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[];</span>
77835
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">arr</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="p">[</span><span class="nx">left</span><span class="p">,</span><span class="w"> </span><span class="nx">right</span><span class="p">])</span><span class="w"> </span><span class="p">{</span>
77836
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kd">const</span><span class="w"> </span><span class="nx">x</span><span class="w"> </span><span class="k">of</span><span class="w"> </span><span class="nx">arr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
77837
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">++</span><span class="nx">x</span><span class="p">[</span><span class="mf">1</span><span class="p">]</span><span class="w"> </span><span class="o"><=</span><span class="w"> </span><span class="nx">distance</span><span class="p">)</span><span class="w"> </span><span class="nx">res</span><span class="p">.</span><span class="nx">push</span><span class="p">(</span><span class="nx">x</span><span class="p">);</span>
77838
+ <span class="w"> </span><span class="p">}</span>
77839
+ <span class="w"> </span><span class="p">}</span>
77840
+
77841
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">res</span><span class="p">;</span>
77842
+ <span class="w"> </span><span class="p">};</span>
77843
+
77844
+ <span class="w"> </span><span class="nx">dfs</span><span class="p">(</span><span class="nx">root</span><span class="p">);</span>
77845
+
77846
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="nx">pairs</span><span class="p">.</span><span class="nx">length</span><span class="p">;</span>
77847
+ <span class="p">};</span>
77848
+ </code></pre></div></td></tr></table></div>
77849
+ </div>
77692
77850
</div>
77693
77851
</div>
77694
77852
<!-- solution:end -->
@@ -77722,6 +77880,11 @@ <h3 id="solution-1">Solution 1</h3>
77722
77880
77723
77881
<nav>
77724
77882
77883
+ <a href="https://github.com/rain84" class="md-author" title="@rain84">
77884
+
77885
+ <img src="https://avatars.githubusercontent.com/u/1732547?v=4&size=72" alt="rain84">
77886
+ </a>
77887
+
77725
77888
<a href="https://github.com/yanglbme" class="md-author" title="@yanglbme">
77726
77889
77727
77890
<img src="https://avatars.githubusercontent.com/u/21008209?v=4&size=72" alt="yanglbme">
0 commit comments