1408 陣列中的字串匹配

2021-10-09 22:30:00 字數 1164 閱讀 5524

題目描述:

給你乙個字串陣列 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...