Every video or explaination in books are not clear or agree if the ending point of a word/string, has a special key that is returned or a boolean true is returned. e.g. We know that the trie has the word "paper" and now I want to find the word "pap", what indicates that this is not a word, and how can this become a found word in my trie.
Edit: If I am at the end of a branch, will the array the belongs to the last node, have nullptr's on each index?
Either is fine. If the trie is just used to test for membership, then all a node needs is a boolean that indicates whether or not it's a terminal node. If the trie is used to associate values with keys, then the terminal nodes will contain those values (or pointers to them). If there's a distinguished nil/null value, then there's no need for a separate boolean — a node is a terminal iff it contains a non-nil value. But storing the boolean is also perfectly acceptable. None of this makes any real difference to the nature of the data structure.