@@ -85090,7 +85090,7 @@ <h2 id="_2">解法</h2>
85090
85090
<!-- solution:start -->
85091
85091
85092
85092
<h3 id="_3">方法一</h3>
85093
- <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">Go </label><label for="__tabbed_1_4">JavaScript </label><label for="__tabbed_1_5">C#</label><label for="__tabbed_1_6 ">Swift</label></div>
85093
+ <div class="tabbed-set tabbed-alternate" data-tabs="1:7 "><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" /><input id="__tabbed_1_7" 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">JavaScript</label><label for="__tabbed_1_6"> C#</label><label for="__tabbed_1_7 ">Swift</label></div>
85094
85094
<div class="tabbed-content">
85095
85095
<div class="tabbed-block">
85096
85096
<div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
@@ -85237,6 +85237,78 @@ <h3 id="_3">方法一</h3>
85237
85237
<span class="normal">32</span>
85238
85238
<span class="normal">33</span>
85239
85239
<span class="normal">34</span>
85240
+ <span class="normal">35</span></pre></div></td><td class="code"><div><pre><span></span><code><span class="k">class</span><span class="w"> </span><span class="nc">Solution</span><span class="w"> </span><span class="p">{</span>
85241
+ <span class="k">public</span><span class="o">:</span>
85242
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">strToInt</span><span class="p">(</span><span class="n">string</span><span class="w"> </span><span class="n">str</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85243
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">bndry</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">INT_MAX</span><span class="w"> </span><span class="o">/</span><span class="w"> </span><span class="mi">10</span><span class="p">;</span>
85244
+ <span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">sign</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="n">length</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">str</span><span class="p">.</span><span class="n">size</span><span class="p">();</span>
85245
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">length</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85246
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
85247
+ <span class="w"> </span><span class="p">}</span>
85248
+ <span class="w"> </span><span class="c1">// 删除首部空格</span>
85249
+ <span class="w"> </span><span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">str</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">' '</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85250
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">++</span><span class="n">i</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">length</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85251
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span>
85252
+ <span class="w"> </span><span class="p">}</span>
85253
+ <span class="w"> </span><span class="p">}</span>
85254
+ <span class="w"> </span><span class="c1">// 若有负号则标识符号位</span>
85255
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">str</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">'-'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85256
+ <span class="w"> </span><span class="n">sign</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">-1</span><span class="p">;</span>
85257
+ <span class="w"> </span><span class="p">}</span>
85258
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">str</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">'-'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">str</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="sc">'+'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85259
+ <span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">;</span>
85260
+ <span class="w"> </span><span class="p">}</span>
85261
+ <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">i</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">length</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85262
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">str</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="sc">'0'</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">str</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="sc">'9'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85263
+ <span class="w"> </span><span class="k">break</span><span class="p">;</span>
85264
+ <span class="w"> </span><span class="p">}</span>
85265
+ <span class="w"> </span><span class="c1">// res>214748364越界;res=214748364且str[j] > '7'越界</span>
85266
+ <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">res</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="n">bndry</span><span class="w"> </span><span class="o">||</span><span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">bndry</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">str</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="sc">'7'</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
85267
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sign</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="mi">1</span><span class="w"> </span><span class="o">?</span><span class="w"> </span><span class="n">INT_MAX</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">INT_MIN</span><span class="p">;</span>
85268
+ <span class="w"> </span><span class="p">}</span>
85269
+ <span class="w"> </span><span class="c1">// 从左向右遍历数字并更新结果</span>
85270
+ <span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">res</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="mi">10</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="p">(</span><span class="n">str</span><span class="p">[</span><span class="n">j</span><span class="p">]</span><span class="w"> </span><span class="o">-</span><span class="w"> </span><span class="sc">'0'</span><span class="p">);</span>
85271
+ <span class="w"> </span><span class="p">}</span>
85272
+ <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">sign</span><span class="w"> </span><span class="o">*</span><span class="w"> </span><span class="n">res</span><span class="p">;</span>
85273
+ <span class="w"> </span><span class="p">}</span>
85274
+ <span class="p">};</span>
85275
+ </code></pre></div></td></tr></table></div>
85276
+ </div>
85277
+ <div class="tabbed-block">
85278
+ <div class="highlight"><table class="highlighttable"><tr><td class="linenos"><div class="linenodiv"><pre><span></span><span class="normal"> 1</span>
85279
+ <span class="normal"> 2</span>
85280
+ <span class="normal"> 3</span>
85281
+ <span class="normal"> 4</span>
85282
+ <span class="normal"> 5</span>
85283
+ <span class="normal"> 6</span>
85284
+ <span class="normal"> 7</span>
85285
+ <span class="normal"> 8</span>
85286
+ <span class="normal"> 9</span>
85287
+ <span class="normal">10</span>
85288
+ <span class="normal">11</span>
85289
+ <span class="normal">12</span>
85290
+ <span class="normal">13</span>
85291
+ <span class="normal">14</span>
85292
+ <span class="normal">15</span>
85293
+ <span class="normal">16</span>
85294
+ <span class="normal">17</span>
85295
+ <span class="normal">18</span>
85296
+ <span class="normal">19</span>
85297
+ <span class="normal">20</span>
85298
+ <span class="normal">21</span>
85299
+ <span class="normal">22</span>
85300
+ <span class="normal">23</span>
85301
+ <span class="normal">24</span>
85302
+ <span class="normal">25</span>
85303
+ <span class="normal">26</span>
85304
+ <span class="normal">27</span>
85305
+ <span class="normal">28</span>
85306
+ <span class="normal">29</span>
85307
+ <span class="normal">30</span>
85308
+ <span class="normal">31</span>
85309
+ <span class="normal">32</span>
85310
+ <span class="normal">33</span>
85311
+ <span class="normal">34</span>
85240
85312
<span class="normal">35</span>
85241
85313
<span class="normal">36</span>
85242
85314
<span class="normal">37</span>
@@ -85579,6 +85651,11 @@ <h3 id="_3">方法一</h3>
85579
85651
85580
85652
<nav>
85581
85653
85654
+ <a href="https://github.com/lingxier" class="md-author" title="@lingxier">
85655
+
85656
+ <img src="https://avatars.githubusercontent.com/u/50407509?v=4&size=72" alt="lingxier">
85657
+ </a>
85658
+
85582
85659
<a href="https://github.com/klever34" class="md-author" title="@klever34">
85583
85660
85584
85661
<img src="https://avatars.githubusercontent.com/u/12745225?v=4&size=72" alt="klever34">
@@ -85594,16 +85671,11 @@ <h3 id="_3">方法一</h3>
85594
85671
<img src="https://avatars.githubusercontent.com/u/85606371?v=4&size=72" alt="xiongbinzou">
85595
85672
</a>
85596
85673
85597
- <a href="https://github.com/maolonglong" class="md-author" title="@maolonglong">
85598
-
85599
- <img src="https://avatars.githubusercontent.com/u/50797868?v=4&size=72" alt="maolonglong">
85600
- </a>
85601
-
85602
85674
85603
85675
85604
85676
85605
85677
<a href="https://github.com/doocs/leetcode/blob/main/lcof/%E9%9D%A2%E8%AF%95%E9%A2%9867.%20%E6%8A%8A%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BD%AC%E6%8D%A2%E6%88%90%E6%95%B4%E6%95%B0/README.md" class="md-author md-author--more">
85606
- +1
85678
+ +2
85607
85679
</a>
85608
85680
85609
85681
0 commit comments