Skip to content

Commit

Permalink
Update 820.short-encoding-of-words.md
Browse files Browse the repository at this point in the history
  • Loading branch information
azl397985856 authored Jun 17, 2020
1 parent c763807 commit 7b32af8
Showing 1 changed file with 6 additions and 4 deletions.
10 changes: 6 additions & 4 deletions problems/820.short-encoding-of-words.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## 题目地址(820. 单词的压缩编码)

https://leetcode-cn.com/problems/walking-robot-simulation/submissions/
https://leetcode-cn.com/problems/short-encoding-of-words/

## 题目描述

Expand Down Expand Up @@ -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)
Expand Down Expand Up @@ -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)

0 comments on commit 7b32af8

Please sign in to comment.