Given an array of strings
words representing an English Dictionary, return the longest word in
words that can be built one character at a time by other words in
If there is more than one possible answer, return the longest word with the smallest lexicographical order. If there is no answer, return the empty string.
Input: words = ["w","wo","wor","worl","world"]
Explanation: The word "world" can be built one character at a time by "w", "wo", "wor", and "worl".
I knew that the best solution is “Tire”. But, I used Hash first and that is method of brute force. I will used “Tire” later.
Sort first. check the word with hashset one by one. If those words are include in hashset, I will compare length of result and the word, and replace result to longer word.