Alien Dictionary
Difficulty: Hard
Category: DSA
Topics: Array, String, Depth-First Search, Breadth-First Search, Graph, Topological Sort
Asked at: Facebook, Amazon, Airbnb, Pinterest, Google, Microsoft, ByteDance
You are given a list of strings `words`, where each string represents a word in an alien language. The words are sorted lexicographically according to the rules of this alien language, but the order of the characters is unknown. Your task is to determine a possible order of the characters in the alien language that is consistent with the given word list.
If there is no valid character order that can explain the given sorting, return an empty string. If there are multiple valid orders, return any of them.
**Constraints:**
- `1 <= words.length <= 100`
- `1 <= words[i].length <= 100`
- All words consist of lowercase English letters.
Return a _string_ representing a possible order of the characters in the alien language, or an empty string if no valid order exists.