← 返回 snowflake 的题目列表Serialize and Deserialize Dictionary Trie
类型:qbank
Implement a codec for a dictionary trie.
Problem Statement
Your task is to create a codec (a tool for encoding and decoding) for a dictionary Trie.
You will receive a list of unique words written in lowercase letters. You need to build a Trie using these words and implement the following two functions:
serialize(words): Converts the Trie structure into a single string.
deserialize(data): Reconstructs the Trie from that string and returns all the words sorted in lexicographical order (alphabetical order).
You are free to design the string format however you like. The only requirement is that the reconstructed dictionary must match the original exactly.
Key Requirements
Do not use regex or complex search tools.
Remember that words can share starting letters (prefixes).
You must use standard Trie or dictionary-style nodes.
Sample Scenarios
Case 1:
Input: words = ["app","apple","bat"]
Output: ["app","apple","bat"]
Logic: After processing the list through your functions, the recovered words are exactly the same and sorted alphabetically.
Case 2:
Input: words = ["dog","deer","deal"]
Output: ["deal","deer","dog"]
Logic: The output provides the words from the rebuilt Trie, sorted alphabetically.
Operational Limits
Word Count: 0 <= words.length <= 10^4
Word Length: 1 <= words[i].length <= 50
Character Type: words[i] uses only lowercase English letters.
Uniqueness: The input words list contains unique strings.
Total Size: The sum of all word lengths is at most 2 * 10^5.