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:
|
||||
|
||||
前序遍历:
|
||||
```
|
||||
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