数组中的字符串匹配
leetcode链接:https://leetcode-cn.com/problems/string-matching-in-an-array/
给你一个字符串数组 words ,数组中的每个字符串都可以看作是一个单词。请你按 任意 顺序返回 words 中是其他单词的子字符串的所有单词。
如果你可以删除 words[j] 最左侧和/或最右侧的若干字符得到 word[i] ,那么字符串 words[i] 就是 words[j] 的一个子字符串。
解题思路:
遍历整个列表,对每一个元素 都去判断是是否为去除它之后的列表的各个元素的子元素,若是则跳出子循环,开始判断下一个元素。并把该元素收到一个空白列表中即可。
res = [] for i in range(len(words)): left = words[:i] right = words[i+1:] for j in left+right: if words[i] in j: res.append(words[i]) break return res