mirror of
https://github.com/youngyangyang04/leetcode-master.git
synced 2025-07-08 16:54:50 +08:00
二叉树递归遍历增加golang版本
This commit is contained in:
@ -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