今天分享的题目来源于 LeetCode 上 30 号题目:串联所有单词的子串。题目标签是:散列表、双指针和字符串。
题目描述
给定一个字符串 s 和一些长度相同的单词 words。...单词组words每一个单词的长度都相同,可以把单词看成一个关键字,字符串里的随机两个连续的字符也看成一个关键字。
但如何将字符串划分多个关键字呢?...因为单词组 words 的单词长度都是相同的,单词的长度是 2,可以作为两次遍历:
第一次遍历的时候,字符串 s 可以划分为{"su", "an", "wu", "su", "an", "fa"};
第二次遍历的时候...,字符串 s 可以划分为{"s", "ua", "nw", "us", "ua", "nf", "a"},只有一个字符的关键字可以直接排除掉。...所以,单词组words:{"su", "an", "fa"}的长度是3,要求字符串依次遍历时,有连续三个关键字是和单词组words匹配上的。
那如何去匹配呢?