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
双层循环结构