mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 08:50:15 +08:00
Merge pull request #19 from realpeanut/patch-1
1. 修正 二叉树理论基础.md 描述 2. 二叉树的递归遍历.md 添加go版本
This commit is contained in:
@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
### 二叉搜索树
|
### 二叉搜索树
|
||||||
|
|
||||||
前面介绍的书,都没有数值的,而二叉搜索树是有数值的了,**二叉搜索树是一个有序树**。
|
前面介绍的树,都没有数值的,而二叉搜索树是有数值的了,**二叉搜索树是一个有序树**。
|
||||||
|
|
||||||
|
|
||||||
* 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
|
* 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值;
|
||||||
@ -193,7 +193,13 @@ Python:
|
|||||||
|
|
||||||
|
|
||||||
Go:
|
Go:
|
||||||
|
```
|
||||||
|
type TreeNode struct {
|
||||||
|
Val int
|
||||||
|
Left *TreeNode
|
||||||
|
Right *TreeNode
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -122,6 +122,58 @@ Python:
|
|||||||
|
|
||||||
Go:
|
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
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user