Statement
Design a data structure that processes a stream of characters and, after each character is received, determines if a suffix of these characters is a string in a given array of strings words
.
For example, if words
= ["dog"] and the stream adds the charactersÂ
So, for words
, the goal is to detect if any of these words appear as a suffix of the stream built so far. To accomplish this, implement a class StreamChecker
:
Constructor: Initializes the object with the list of target
words
.boolean query(char letter): Appends a character to the stream and returns TRUE if any suffix of the stream matches a word in the list
words
.
Constraints:
words.length
words[i].length
words[i]
 consists of lowercase English letters.letter
 is a lowercase English letter.At mostÂ
 calls will be made to query.