mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
40 lines
1.9 KiB
HTML
40 lines
1.9 KiB
HTML
|
<p>在英语中,我们有一个叫做 <code>词根</code>(root) 的概念,可以词根<strong>后面</strong>添加其他一些词组成另一个较长的单词——我们称这个词为 <code>继承词</code>(successor)。例如,词根<code>an</code>,跟随着单词 <code>other</code>(其他),可以形成新的单词 <code>another</code>(另一个)。</p>
|
|||
|
|
|||
|
<p>现在,给定一个由许多<strong>词根</strong>组成的词典 <code>dictionary</code> 和一个用空格分隔单词形成的句子 <code>sentence</code>。你需要将句子中的所有<strong>继承词</strong>用<strong>词根</strong>替换掉。如果<strong>继承词</strong>有许多可以形成它的<strong>词根</strong>,则用<strong>最短</strong>的词根替换它。</p>
|
|||
|
|
|||
|
<p>你需要输出替换之后的句子。</p>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>示例 1:</strong></p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<strong>输入:</strong>dictionary = ["cat","bat","rat"], sentence = "the cattle was rattled by the battery"
|
|||
|
<strong>输出:</strong>"the cat was rat by the bat"
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 2:</strong></p>
|
|||
|
|
|||
|
<pre>
|
|||
|
<strong>输入:</strong>dictionary = ["a","b","c"], sentence = "aadsfasf absbs bbab cadsfafs"
|
|||
|
<strong>输出:</strong>"a a b c"
|
|||
|
</pre>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>1 <= dictionary.length <= 1000</code></li>
|
|||
|
<li><code>1 <= dictionary[i].length <= 100</code></li>
|
|||
|
<li><code>dictionary[i]</code> 仅由小写字母组成。</li>
|
|||
|
<li><code>1 <= sentence.length <= 10^6</code></li>
|
|||
|
<li><code>sentence</code> 仅由小写字母和空格组成。</li>
|
|||
|
<li><code>sentence</code> 中单词的总量在范围 <code>[1, 1000]</code> 内。</li>
|
|||
|
<li><code>sentence</code> 中每个单词的长度在范围 <code>[1, 1000]</code> 内。</li>
|
|||
|
<li><code>sentence</code> 中单词之间由一个空格隔开。</li>
|
|||
|
<li><code>sentence</code> 没有前导或尾随空格。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p> </p>
|