diff --git a/problems/820.short-encoding-of-words.md b/problems/820.short-encoding-of-words.md index a5e5dabdb..1d01aafb4 100644 --- a/problems/820.short-encoding-of-words.md +++ b/problems/820.short-encoding-of-words.md @@ -1,6 +1,6 @@ ## 题目地址(820. 单词的压缩编码) -https://leetcode-cn.com/problems/walking-robot-simulation/submissions/ +https://leetcode-cn.com/problems/short-encoding-of-words/ ## 题目描述 @@ -36,7 +36,9 @@ https://leetcode-cn.com/problems/walking-robot-simulation/submissions/ ## 思路 -读完题目之后就发现这题是一个后缀树。 因此符合直觉的想法是使用前缀树 + 倒序插入的形式来模拟后缀树。 +读完题目之后就发现如果将列表中每一个单词分别倒序就是一个后缀树问题。比如 `["time", "me", "bell"]` 倒序之后就是 ["emit", "em", "lleb"],我们要求的结果无非就是 "emit" 的长度 + "llem"的长度 + "##"的长度(em 和 emit 有公共前缀,计算一个就好了)。 + +因此符合直觉的想法是使用前缀树 + 倒序插入的形式来模拟后缀树。 下面的代码看起来复杂,但是很多题目我都是用这个模板,稍微调整下细节就能AC。我这里总结了一套[前缀树专题](https://github.com/azl397985856/leetcode/blob/master/thinkings/trie.md) @@ -118,7 +120,7 @@ class Solution: - 时间复杂度:$O(N)$,其中N为单词长度列表中的总字符数,比如["time", "me"],就是 4 + 2 = 6。 - 空间复杂度:$O(N)$,其中N为单词长度列表中的总字符数,比如["time", "me"],就是 4 + 2 = 6。 -大家也可以关注我的公众号《脑洞前端》获取更多更新鲜的LeetCode题解 +大家也可以关注我的公众号《力扣加加》获取更多更新鲜的LeetCode题解 -![](https://pic.leetcode-cn.com/89ef69abbf02a2957838499a96ce3fbb26830aae52e3ab90392e328c2670cddc-file_1581478989502) +![](https://tva1.sinaimg.cn/large/007S8ZIlly1gfcuzagjalj30p00dwabs.jpg)