Concatenated Words LeetCode solution in Python

1
class Solution:
2
def findAllConcatenatedWordsInADict(self, words: List[str]) -> List[str]:
3

4
set_words = set(words)
5

6
def check(word, seen):
7
if word == "":
8
return True
9
for i in range(len(word) if seen else len(word) - 1):
10
if word[: i + 1] in set_words:
11
if check(word[i + 1 :], seen | {word[: i + 1]}):
12
return True
13
return False
14

15
return [word for word in words if check(word, set())]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0