用golang实现二叉树中遍历的代码
时间: 2023-05-21 16:04:02 浏览: 139
遍历二叉树C实现代码
当然可以,以下是一个简单的二叉树遍历的实现代码:
```go
type TreeNode struct {
Val int
Left *TreeNode
Right *TreeNode
}
func inorderTraversal(root *TreeNode) []int {
if root == nil {
return []int{}
}
res := []int{}
stack := []*TreeNode{}
cur := root
for cur != nil || len(stack) > 0 {
for cur != nil {
stack = append(stack, cur)
cur = cur.Left
}
cur = stack[len(stack)-1]
stack = stack[:len(stack)-1]
res = append(res, cur.Val)
cur = cur.Right
}
return res
}
```
这是一个中序遍历的实现,其他遍历方式可以类似地实现。
阅读全文