mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 00:43:04 +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:
|
||||
|
||||
```
|
||||
type TreeNode struct {
|
||||
Val int
|
||||
Left *TreeNode
|
||||
Right *TreeNode
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user