Skip to content

Commit 0944b9d

Browse files
committed
feat: add solutions to lcof2 problem
No.063.Replace Words
1 parent 312c0d9 commit 0944b9d

File tree

13 files changed

+689
-481
lines changed

13 files changed

+689
-481
lines changed

lcof2/剑指 Offer II 062. 实现前缀树/README.md

+6-4
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,19 @@ trie.search("app"); // 返回 True
5656

5757
<!-- 这里可写通用的实现逻辑 -->
5858

59+
**方法一:前缀树**
60+
5961
前缀树每个节点包括两部分:
6062

61-
1. 指向子节点的指针数组 children,对于本题而言,数组长度为 26,即小写英文字母的数量。`children[0]` 对应小写字母 a,...,`children[25]` 对应小写字母 z
62-
1. 布尔字段 `isEnd`,表示该节点是否为字符串的结尾。
63+
1. 指向子节点的指针数组 $children$,对于本题而言,数组长度为 $26$,即小写英文字母的数量。$children[0]$ 对应小写字母 $a$,...,$children[25]$ 对应小写字母 $z$
64+
1. 布尔字段 $isEnd$,表示该节点是否为字符串的结尾。
6365

6466
### 1. 插入字符串
6567

6668
我们从字典树的根开始,插入字符串。对于当前字符对应的子节点,有两种情况:
6769

6870
- 子节点存在。沿着指针移动到子节点,继续处理下一个字符。
69-
- 子节点不存在。创建一个新的子节点,记录在 `children` 数组的对应位置上,然后沿着指针移动到子节点,继续搜索下一个字符。
71+
- 子节点不存在。创建一个新的子节点,记录在 $children$ 数组的对应位置上,然后沿着指针移动到子节点,继续搜索下一个字符。
7072

7173
重复以上步骤,直到处理字符串的最后一个字符,然后将当前节点标记为字符串的结尾。
7274

@@ -79,7 +81,7 @@ trie.search(&quot;app&quot;); // 返回 True
7981

8082
重复以上步骤,直到返回空指针或搜索完前缀的最后一个字符。
8183

82-
若搜索到了前缀的末尾,就说明字典树中存在该前缀。此外,若前缀末尾对应节点的 `isEnd` 为真,则说明字典树中存在该字符串。
84+
若搜索到了前缀的末尾,就说明字典树中存在该前缀。此外,若前缀末尾对应节点的 $isEnd$ 为真,则说明字典树中存在该字符串。
8385

8486
<!-- tabs:start -->
8587

0 commit comments

Comments
 (0)