Merge pull request #19 from realpeanut/patch-1

1. 修正 二叉树理论基础.md 描述
2. 二叉树的递归遍历.md 添加go版本
This commit is contained in:
Carl Sun
2021-05-12 14:23:16 +08:00
committed by GitHub
2 changed files with 60 additions and 2 deletions

View File

@ -46,7 +46,7 @@
### 二叉搜索树
前面介绍的,都没有数值的,而二叉搜索树是有数值的了,**二叉搜索树是一个有序树**。
前面介绍的,都没有数值的,而二叉搜索树是有数值的了,**二叉搜索树是一个有序树**。
* 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
@ -193,7 +193,13 @@ Python
Go
```
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
```

View File

@ -122,6 +122,58 @@ Python
Go
前序遍历:
```
func PreorderTraversal(root *TreeNode) (res []int) {
var traversal func(node *TreeNode)
traversal = func(node *TreeNode) {
if node == nil {
return
}
res = append(res,node.Val)
traversal(node.Left)
traversal(node.Right)
}
traversal(root)
return res
}
```
中序遍历:
```
func InorderTraversal(root *TreeNode) (res []int) {
var traversal func(node *TreeNode)
traversal = func(node *TreeNode) {
if node == nil {
return
}
traversal(node.Left)
res = append(res,node.Val)
traversal(node.Right)
}
traversal(root)
return res
}
```
后序遍历:
```
func PostorderTraversal(root *TreeNode) (res []int) {
var traversal func(node *TreeNode)
traversal = func(node *TreeNode) {
if node == nil {
return
}
traversal(node.Left)
traversal(node.Right)
res = append(res,node.Val)
}
traversal(root)
return res
}
```