Leetcode 30. 串联所有单词的子串 是一道经典的字符串滑动窗口问题。这题考察字符串切分、哈希表匹配以及滑动窗口的灵活应用。解题难度较高,需要对循环和判断逻辑有良好的掌握。
题目描述
给定一个字符串 s
和一组长度都相同的单词数组 words
,找出 s
中恰好可以由数组中所有单词连接在一起的连续子字符串的起始索引。这些单词在子字符串中可以以任意顺序排列,但每个单词必须完全匹配。
示例
输入: s = "barfoothefoobarman", words = ["foo","bar"]
输出: [0,9]
解释: 子串是 "barfoo" 和 "foobar",它们的起始索引分别为 0 和 9。
输入: s = "wordgoodgoodgoodbestword", words = ["word","good","best","word"]
输出: []
输入: s = "barfoofoobarthefoobarman", words = ["bar",