1 | 一个句子是由一些单词与它们之间的单个空格组成,且句子的开头和结尾没有多余空格。比方说,"Hello World" ,"HELLO" ,"hello world hello world" 都是句子。每个单词都 只 包含大写和小写英文字母。 |
我的解法:
想的是一次次遍历判断字符是否在最左边或者最右边然后删除,
但是做的过程中耐心没了,感觉是削足适履。
1 | class Solution: |
官方题解:
根据题意,两个句子 sentence1 和 sentence2,如果是相似的,那么这两个句子按空格分割得到的字符串数组 words1
和 words2,一定能通过往其中一个字符串数组中插入某个字符串数组(可以为空),得到另一个字符串数组。这个验证可以通过双指针完成。
i 表示两个字符串数组从左开始,最多有 i 个字符串相同。
j 表示剩下的字符串数组从右开始,最多有 j 个字符串相同。
如果 i+j 正好是某个字符串数组的长度,那么原字符串就是相似的。
1 | class Solution: |