Concatenated Words LeetCode solution in Python
1class Solution:2def findAllConcatenatedWordsInADict(self, words: List[str]) -> List[str]:34set_words = set(words)56def check(word, seen):7if word == "":8return True9for i in range(len(word) if seen else len(word) - 1):10if word[: i + 1] in set_words:11if check(word[i + 1 :], seen | {word[: i + 1]}):12return True13return False1415return [word for word in words if check(word, set())]