LeetCode 472
先把所有的单词放入一个set,使用dfs的方法,按照每一部分进行检查。
def findAllConcatenatedWordsInADict(self, words: List[str]) -> List[str]:
words = set(words)
def isConcatenated(word):
#把一个单词拆成两部分,然后检查
for i in range(1, len(word)):
part1 = word[:i]
part2 = word[i:]
if part1 in words and part2 in words:
return True
if part1 in words and isConcatenated(part2):
return True
return False
result = []
for word in words:
if isConcatenated(word):
result.append(word)
return result