@ninijia 在 Leetcode每日一题练习 ------ 1813. 句子相似性 III 中发帖
从Leetcode 每日一题练习继续讨论:
1813. 句子相似性 III
1813. Sentence Similarity III
题解
本题只能插入一个句子,则要在插入一个句子后将短句变为长句,短句拆分后的前后两部分应分别位于长句的首尾部分(可以拆为空句,这样就是短句完全是长句的开头部分或者结尾部分),则遍历两个句子,匹配开头部分,不匹配时继续向后遍历长句直到可以继续匹配,此时匹配的是短句的后半部分,注意可能存在短句的后半部分的的某部分被重复匹配的情况,即假设短句为aaab,长句可能为aaaaab,因此需要一个指针记录匹配短句后半部分时的起始位置,另外一个指针则进行正常的长短句匹配。
代码
class Solution {
public:
bool areSentencesSimilar(string sentence1, string sentence2) {
...