擅长:python、mysql、java
<p>最好和最坏的情况分别是<code>O(1)</code>和<code>O(|s1|*|s2|)</code>,其中<code>|s1|</code>和<code>|s2|</code>表示两个字符串的长度</p>
<p>事实上,您的代码可以重写为</p>
<pre><code>for c2 in s2:
for c1 in s1:
if c1==c2:
return "YES"
return "NO"
</code></pre>
<p>如果您只想检查这两个字符串是否共享一个公共字符,您可以将其写入</p>
<pre><code>if set(s1) & set(s2):
return "YES"
return "NO"
</code></pre>
<p>这将具有相同的最坏情况时间复杂度<code>O(|s1|*|s2|)</code>,但平均情况为<code>O(min(|s1|,|s2|)</code></p>