Skip to content
Merged

typo #494

Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions thinkings/tree.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,7 +346,7 @@ function dfs(root) {

那么此时我们称为前序遍历。

##### 后续遍历
##### 后序遍历

而如果你的代码大概是这么写的(注意主要逻辑的位置):

Expand Down Expand Up @@ -377,7 +377,7 @@ function dfs(root) {
}
```

如上代码,我们在进入和退出左右子树的时候分别执行了一些代码。那么这个时候,是前序遍历还是后续遍历呢?实际上,这属于混合遍历了。不过我们这里只考虑**主逻辑**的位置,关键词是**主逻辑**。
如上代码,我们在进入和退出左右子树的时候分别执行了一些代码。那么这个时候,是前序遍历还是后序遍历呢?实际上,这属于混合遍历了。不过我们这里只考虑**主逻辑**的位置,关键词是**主逻辑**。

如果代码主逻辑在左右子树之前执行,那么就是前序遍历。如果代码主逻辑在左右子树之后执行,那么就是后序遍历。关于更详细的内容, 我会在**七个技巧** 中的**前后遍历**部分讲解,大家先留个印象,知道有着两种方式就好。

Expand Down Expand Up @@ -702,7 +702,7 @@ class Solution:

修改指针的题目一般不难,比如 [116. 填充每个节点的下一个右侧节点指针](https://leetcode-cn.com/problems/populating-next-right-pointers-in-each-node/),这不就是 BFS 的时候顺便记录一下上一次访问的同层节点,然后增加一个指针不就行了么?关于 BFS ,套用我的**带层的 BFS 模板**就搞定了。

增加和删除的题目一般稍微复杂,比如 [450. 删除二叉搜索树中的节点](https://leetcode-cn.com/problems/delete-node-in-a-bst/) 和 [669. 修剪二叉搜索树](https://leetcode-cn.com/problems/trim-a-binary-search-tree/)。西法我教你两个套路,面对这种问题就不带怕的。那就是**后续遍历 + 虚拟节点**,这两个技巧同样放在后面的七个技巧部分讲解。是不是对七个技巧很期待?^\_^
增加和删除的题目一般稍微复杂,比如 [450. 删除二叉搜索树中的节点](https://leetcode-cn.com/problems/delete-node-in-a-bst/) 和 [669. 修剪二叉搜索树](https://leetcode-cn.com/problems/trim-a-binary-search-tree/)。西法我教你两个套路,面对这种问题就不带怕的。那就是**后序遍历 + 虚拟节点**,这两个技巧同样放在后面的七个技巧部分讲解。是不是对七个技巧很期待?^\_^

> 实际工程中,我们也可以不删除节点,而是给节点做一个标记,表示已经被删除了,这叫做软删除。

Expand Down