題目描述:
給你乙個字串陣列 words ,陣列中的每個字串都可以看作是乙個單詞。請你按 任意 順序返回 words 中是其他單詞的子字串的所有單詞。
如果你可以刪除 words[j] 最左側和/或最右側的若干字元得到 word[i] ,那麼字串 words[i] 就是 words[j] 的乙個子字串。
示例 1:
輸入:words = [「mass」,「as」,「hero」,「superhero」]
輸出:[「as」,「hero」]
解釋:「as」 是 「mass」 的子字串,「hero」 是 「superhero」 的子字串。
[「hero」,「as」] 也是有效的答案。
示例 2:
輸入:words = [「leetcode」,「et」,「code」]
輸出:[「et」,「code」]
解釋:「et」 和 「code」 都是 「leetcode」 的子字串。
示例 3:
輸入:words = [「blue」,「green」,「bu」]
輸出:1 <= words.length <= 100
1 <= words[i].length <= 30
words[i] 僅包含小寫英文本母。
題目資料 保證 每個 words[i] 都是獨一無二的。
方法1:
主要思路:
(1)定義乙個判斷乙個字串是否是另乙個字串的子串的輔助函式;
(2)遍歷陣列中的字串元素,判斷當前字串是否可能是其他字串的字串,若是,則壓入結果中;
class
solution
int end_pos=str.
size()
-sub_str.
size()
+1;for
(int i=
0;i++i)
}return
false;}
vector
stringmatching
(vector
& words)}}
return res;}}
;
1408 陣列中的字串匹配
給你乙個字串陣列 words 陣列中的每個字串都可以看作是乙個單詞。請你按 任意 順序返回 words 中是其他單詞的子字串的所有單詞。如果你可以刪除 words j 最左側和 或最右側的若干字元得到 word i 那麼字串 words i 就是 words j 的乙個子字串。示例 1 輸入 wor...
leetcode1408 陣列中字串匹配
給你乙個字串陣列 words 陣列中的每個字串都可以看作是乙個單詞。請你按 任意 順序返回 words 中是其他單詞的子字串的所有單詞。如果你可以刪除 words j 最左側和 或最右側的若干字元得到 word i 那麼字串 words i 就是 words j 的乙個子字串。示例 1 輸入 wor...
leetcode 1408 陣列中的字串匹配
給你乙個字串陣列 words 陣列中的每個字串都可以看作是乙個單詞。請你按 任意 順序返回 words 中是其他單詞的子字串的所有單詞。如果你可以刪除 words j 最左側和 或最右側的若干字元得到 word i 那麼字串 words i 就是 words j 的乙個子字串。示例 1 輸入 wor...