We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ceb4138 commit 0546a17Copy full SHA for 0546a17
thinkings/tree.md
@@ -890,7 +890,7 @@ class Codec:
890
891
细心的同学可能会发现,我上面的代码其实并不是将树序列化成了完全二叉树,这个我们稍后就会讲到。另外后面多余的空节点也一并序列化了。这其实是可以优化的,优化的方式也很简单,那就是去除末尾的 null 即可。
892
893
-你只要彻底理解我刚才讲的`我们可以给完全二叉树编号,这样父子之间就可以通过编号轻松求出。比如我给所有节点从左到右从上到下依次从 1 开始编号。那么已知一个节点的编号是 i,那么其左子节点就是 2 * i,右子节点就是 2 * i + 1,父节点就是 (i + 1) / 2。` 这句话,那么反序列化对你就不是难事。
+你只要彻底理解我刚才讲的`我们可以给完全二叉树编号,这样父子之间就可以通过编号轻松求出。比如我给所有节点从左到右从上到下依次从 1 开始编号。那么已知一个节点的编号是 i,那么其左子节点就是 2 * i,右子节点就是 2 * i + 1,父节点就是 i / 2。` 这句话,那么反序列化对你就不是难事。
894
895
如果我用一个箭头表示节点的父子关系,箭头指向节点的两个子节点,那么大概是这样的:
896
@@ -901,7 +901,7 @@ class Codec:
901
- 1 号节点的两个子节点的 2 号 和 3 号。
902
- 2 号节点的两个子节点的 4 号 和 5 号。
903
- 。。。
904
-- i 号节点的两个子节点的 `2 * i` 号 和 `2 * 1 + 1` 号。
+- i 号节点的两个子节点的 `2 * i` 号 和 `2 * i + 1` 号。
905
906
此时你可能会写出类似这样的代码:
907
0 commit comments