<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Iterator on Collie 的部落格</title><link>https://blog.collie.tw/tags/iterator/</link><description>Recent content in Iterator on Collie 的部落格</description><generator>Hugo -- gohugo.io</generator><language>zh-TW</language><copyright>© 2026</copyright><lastBuildDate>Tue, 22 Nov 2022 16:42:51 +0800</lastBuildDate><atom:link href="https://blog.collie.tw/tags/iterator/index.xml" rel="self" type="application/rss+xml"/><item><title>224. Basic Calculator</title><link>https://blog.collie.tw/posts/leetcode/224/</link><pubDate>Tue, 22 Nov 2022 16:42:51 +0800</pubDate><guid>https://blog.collie.tw/posts/leetcode/224/</guid><description>&lt;h2 class="relative group"&gt;&lt;a href="https://leetcode.com/problems/basic-calculator/" target="_blank" rel="noreferrer"&gt;原始題目&lt;/a&gt;&#10; &lt;div id="原始題目" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8e%9f%e5%a7%8b%e9%a1%8c%e7%9b%ae" aria-label="定位點"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&lt;p&gt;給定字串包含 &lt;code&gt;{ '+', '-', ' ', '(', ')'}&lt;/code&gt; 以及數字，求出算式答案。&lt;/p&gt;&#10;&#10;&lt;h2 class="relative group"&gt;值得紀錄之處&#10; &lt;div id="值得紀錄之處" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%80%bc%e5%be%97%e7%b4%80%e9%8c%84%e4%b9%8b%e8%99%95" aria-label="定位點"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h2&gt;&#10;&#10;&lt;h3 class="relative group"&gt;處理太多條件分支&#10; &lt;div id="處理太多條件分支" class="anchor"&gt;&lt;/div&gt;&#10; &#10; &lt;span&#10; class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;&#10; &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e8%99%95%e7%90%86%e5%a4%aa%e5%a4%9a%e6%a2%9d%e4%bb%b6%e5%88%86%e6%94%af" aria-label="定位點"&gt;#&lt;/a&gt;&#10; &lt;/span&gt;&#10; &#10;&lt;/h3&gt;&#10;&lt;p&gt;我覺得這題最麻煩的坑在於符號太多種了。如果用 &lt;code&gt;if&lt;/code&gt; 來寫的話，會有太多條件分支（ branch condition ），所以我一直很想把某些 branch 合在一起。比如說：&lt;/p&gt;&#10;&lt;ol&gt;&#10;&lt;li&gt;&lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt; 後面跟著 &lt;code&gt;(&lt;/code&gt;&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt; 後面跟著數字&lt;/li&gt;&#10;&lt;li&gt;&lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt; 後面是 &lt;code&gt; &lt;/code&gt;, 而再之後還可以混合前兩項組合出更多種變化。&lt;/li&gt;&#10;&lt;/ol&gt;&#10;&lt;p&gt;這樣乘起來情況非常多，也很難維護。如果可以忽略掉 &lt;code&gt;+&lt;/code&gt;, &lt;code&gt;-&lt;/code&gt;, 只在遇到數字和 &lt;code&gt;(&lt;/code&gt; 的時候，再往回檢查符號，就可以減少需要列舉的情況數量了。&lt;/p&gt;</description></item></channel></rss>